diff --git a/component/video/camera.tsx b/component/video/camera.tsx index df9983a..6c91a5c 100644 --- a/component/video/camera.tsx +++ b/component/video/camera.tsx @@ -18,8 +18,7 @@ import { useIsFocused } from '@react-navigation/native' export default function CameraScreen(): React.ReactElement { const camera = useRef(null); const { hasPermission, requestPermission } = useCameraPermission(); - const [isCameraInitialized, setIsCameraInitialized] = - useState(false); + const [isCameraInitialized, setIsCameraInitialized] = useState(false); const isForeground = useIsForeground(); const isFocused = useIsFocused(); @@ -60,6 +59,7 @@ export default function CameraScreen(): React.ReactElement { }; if (device === null) { + console.log(device) return ( Camera not available. Does user have permissions: {hasPermission} diff --git a/ios/Podfile b/ios/Podfile index 0f20ffe..7234f9b 100644 --- a/ios/Podfile +++ b/ios/Podfile @@ -39,6 +39,9 @@ end target 'Railbird' do use_expo_modules! + # Local pod specification for submodule + pod 'VisionCamera', :path => '../react-native-vision-camera/package' + config = use_native_modules! use_frameworks! :linkage => podfile_properties['ios.useFrameworks'].to_sym if podfile_properties['ios.useFrameworks'] diff --git a/ios/Podfile.lock b/ios/Podfile.lock index d65a999..da82e1b 100644 --- a/ios/Podfile.lock +++ b/ios/Podfile.lock @@ -571,7 +571,7 @@ DEPENDENCIES: - RNScreens (from `../node_modules/react-native-screens`) - RNStaticSafeAreaInsets (from `../node_modules/react-native-static-safe-area-insets`) - RNSVG (from `../node_modules/react-native-svg`) - - VisionCamera (from `../node_modules/react-native-vision-camera`) + - VisionCamera (from `../react-native-vision-camera/package`) - Yoga (from `../node_modules/react-native/ReactCommon/yoga`) SPEC REPOS: @@ -700,7 +700,7 @@ EXTERNAL SOURCES: RNSVG: :path: "../node_modules/react-native-svg" VisionCamera: - :path: "../node_modules/react-native-vision-camera" + :path: "../react-native-vision-camera/package" Yoga: :path: "../node_modules/react-native/ReactCommon/yoga" @@ -774,6 +774,6 @@ SPEC CHECKSUMS: VisionCamera: 4b98b273902ac18491bb68481b6601f1f0da0f2d Yoga: b76f1acfda8212aa16b7e26bcce3983230c82603 -PODFILE CHECKSUM: fe3da96ed9108818e45f85fdade1623742df3ab2 +PODFILE CHECKSUM: b6f983e27dc9836c280903b75ab16080aab25b0b COCOAPODS: 1.14.3 diff --git a/ios/Railbird.xcodeproj/project.pbxproj b/ios/Railbird.xcodeproj/project.pbxproj index f9d2fb7..48d621a 100644 --- a/ios/Railbird.xcodeproj/project.pbxproj +++ b/ios/Railbird.xcodeproj/project.pbxproj @@ -384,7 +384,7 @@ ); OTHER_SWIFT_FLAGS = "$(inherited) -D EXPO_CONFIGURATION_DEBUG"; PRODUCT_BUNDLE_IDENTIFIER = ai.railbird.railbird; - PRODUCT_NAME = "Railbird"; + PRODUCT_NAME = Railbird; PROVISIONING_PROFILE_SPECIFIER = ""; SWIFT_OBJC_BRIDGING_HEADER = "Railbird/Railbird-Bridging-Header.h"; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; @@ -419,7 +419,7 @@ ); OTHER_SWIFT_FLAGS = "$(inherited) -D EXPO_CONFIGURATION_RELEASE"; PRODUCT_BUNDLE_IDENTIFIER = ai.railbird.railbird; - PRODUCT_NAME = "Railbird"; + PRODUCT_NAME = Railbird; PROVISIONING_PROFILE_SPECIFIER = ""; SWIFT_OBJC_BRIDGING_HEADER = "Railbird/Railbird-Bridging-Header.h"; SWIFT_VERSION = 5.0; diff --git a/ios/Railbird/Info.plist b/ios/Railbird/Info.plist index f9a6886..9e2405b 100644 --- a/ios/Railbird/Info.plist +++ b/ios/Railbird/Info.plist @@ -41,6 +41,8 @@ 1 LSRequiresIPhoneOS + NSCameraUsageDescription + $(PRODUCT_NAME) needs access to your Camera. NSAppTransportSecurity NSAllowsArbitraryLoads diff --git a/package.json b/package.json index 1cc25b6..8aa4ce8 100644 --- a/package.json +++ b/package.json @@ -31,7 +31,6 @@ "@typescript-eslint/eslint-plugin": "^6.17.0", "@typescript-eslint/parser": "^6.17.0", "babel-plugin-inline-dotenv": "^1.7.0", - "expo-constants": "15.4.5", "d3-path": "^3.1.0", "d3-scale": "^1.0.6", "eslint": "^8.56.0", @@ -40,6 +39,7 @@ "eslint-plugin-react-native": "^4.1.0", "expo": "~49.0.15", "expo-build-properties": "^0.11.0", + "expo-constants": "~14.4.2", "expo-splash-screen": "~0.20.5", "expo-status-bar": "~1.6.0", "graphql": "^16.8.1", @@ -58,14 +58,14 @@ }, "devDependencies": { "@babel/core": "^7.20.0", + "@react-native/metro-config": "^0.72.9", "@testing-library/jest-native": "^5.4.3", "@testing-library/react-native": "^12.4.3", - "@react-native/metro-config": "^0.72.9", "@types/d3-path": "^3.0.2", "@types/jest": "^29.5.11", - "metro-react-native-babel-preset": "^0.77.0", "@types/react-native-svg-charts": "^5.0.16", - "eslint-config-prettier": "^9.1.0" + "eslint-config-prettier": "^9.1.0", + "metro-react-native-babel-preset": "^0.77.0" }, "private": true } diff --git a/yarn.lock b/yarn.lock index 2479948..c78ccb8 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1400,39 +1400,11 @@ xcode "^3.0.1" xml2js "0.6.0" -"@expo/config-plugins@~7.8.2": - version "7.8.4" - resolved "https://registry.yarnpkg.com/@expo/config-plugins/-/config-plugins-7.8.4.tgz#533b5d536c1dc8b5544d64878b51bda28f2e1a1f" - integrity sha512-hv03HYxb/5kX8Gxv/BTI8TLc9L06WzqAfHRRXdbar4zkLcP2oTzvsLEF4/L/TIpD3rsnYa0KU42d0gWRxzPCJg== - dependencies: - "@expo/config-types" "^50.0.0-alpha.1" - "@expo/fingerprint" "^0.6.0" - "@expo/json-file" "~8.3.0" - "@expo/plist" "^0.1.0" - "@expo/sdk-runtime-versions" "^1.0.0" - "@react-native/normalize-color" "^2.0.0" - chalk "^4.1.2" - debug "^4.3.1" - find-up "~5.0.0" - getenv "^1.0.0" - glob "7.1.6" - resolve-from "^5.0.0" - semver "^7.5.3" - slash "^3.0.0" - slugify "^1.6.6" - xcode "^3.0.1" - xml2js "0.6.0" - "@expo/config-types@^49.0.0-alpha.1": version "49.0.0" resolved "https://registry.yarnpkg.com/@expo/config-types/-/config-types-49.0.0.tgz#15ffef715285c06703f6fb7ec0cda853f645cc09" integrity sha512-8eyREVi+K2acnMBe/rTIu1dOfyR2+AMnTLHlut+YpMV9OZPdeKV0Bs9BxAewGqBA2slslbQ9N39IS2CuTKpXkA== -"@expo/config-types@^50.0.0", "@expo/config-types@^50.0.0-alpha.1": - version "50.0.0" - resolved "https://registry.yarnpkg.com/@expo/config-types/-/config-types-50.0.0.tgz#b534d3ec997ec60f8af24f6ad56244c8afc71a0b" - integrity sha512-0kkhIwXRT6EdFDwn+zTg9R2MZIAEYGn1MVkyRohAd+C9cXOb5RA8WLQi7vuxKF9m1SMtNAUrf0pO+ENK0+/KSw== - "@expo/config@8.1.2", "@expo/config@~8.1.0": version "8.1.2" resolved "https://registry.yarnpkg.com/@expo/config/-/config-8.1.2.tgz#7fff28b3acefe39702e9f3ce1c9fd896a52caa80" @@ -1450,23 +1422,6 @@ slugify "^1.3.4" sucrase "^3.20.0" -"@expo/config@~8.5.0": - version "8.5.4" - resolved "https://registry.yarnpkg.com/@expo/config/-/config-8.5.4.tgz#bb5eb06caa36e4e35dc8c7647fae63e147b830ca" - integrity sha512-ggOLJPHGzJSJHVBC1LzwXwR6qUn8Mw7hkc5zEKRIdhFRuIQ6s2FE4eOvP87LrNfDF7eZGa6tJQYsiHSmZKG+8Q== - dependencies: - "@babel/code-frame" "~7.10.4" - "@expo/config-plugins" "~7.8.2" - "@expo/config-types" "^50.0.0" - "@expo/json-file" "^8.2.37" - getenv "^1.0.0" - glob "7.1.6" - require-from-string "^2.0.2" - resolve-from "^5.0.0" - semver "7.5.3" - slugify "^1.3.4" - sucrase "3.34.0" - "@expo/dev-server@0.5.5": version "0.5.5" resolved "https://registry.yarnpkg.com/@expo/dev-server/-/dev-server-0.5.5.tgz#33f9065e0cf5f36ac61944a92d11390cc71b7035" @@ -1518,19 +1473,6 @@ dotenv-expand "~10.0.0" getenv "^1.0.0" -"@expo/fingerprint@^0.6.0": - version "0.6.0" - resolved "https://registry.yarnpkg.com/@expo/fingerprint/-/fingerprint-0.6.0.tgz#77366934673d4ecea37284109b4dd67f9e6a7487" - integrity sha512-KfpoVRTMwMNJ/Cf5o+Ou8M/Y0EGSTqK+rbi70M2Y0K2qgWNfMJ1gm6sYO9uc8lcTr7YSYM1Rme3dk7QXhpScNA== - dependencies: - "@expo/spawn-async" "^1.5.0" - chalk "^4.1.2" - debug "^4.3.4" - find-up "^5.0.0" - minimatch "^3.0.4" - p-limit "^3.1.0" - resolve-from "^5.0.0" - "@expo/image-utils@0.3.22": version "0.3.22" resolved "https://registry.yarnpkg.com/@expo/image-utils/-/image-utils-0.3.22.tgz#3a45fb2e268d20fcc761c87bca3aca7fd8e24260" @@ -1557,15 +1499,6 @@ json5 "^2.2.2" write-file-atomic "^2.3.0" -"@expo/json-file@~8.3.0": - version "8.3.0" - resolved "https://registry.yarnpkg.com/@expo/json-file/-/json-file-8.3.0.tgz#fc84af77b532a4e9bfb5beafd0e3b7f692b6bd7e" - integrity sha512-yROUeXJXR5goagB8c3muFLCzLmdGOvoPpR5yDNaXrnTp4euNykr9yW0wWhJx4YVRTNOPtGBnEbbJBW+a9q+S6g== - dependencies: - "@babel/code-frame" "~7.10.4" - json5 "^2.2.2" - write-file-atomic "^2.3.0" - "@expo/metro-config@~0.10.0": version "0.10.7" resolved "https://registry.yarnpkg.com/@expo/metro-config/-/metro-config-0.10.7.tgz#d1b91baffcb7feb52fc7e2e122450bfc5d01e7c1" @@ -1618,15 +1551,6 @@ base64-js "^1.2.3" xmlbuilder "^14.0.0" -"@expo/plist@^0.1.0": - version "0.1.0" - resolved "https://registry.yarnpkg.com/@expo/plist/-/plist-0.1.0.tgz#eabc95f951d14e10c87fd0443ee01d567371f058" - integrity sha512-xWD+8vIFif0wKyuqe3fmnmnSouXYucciZXFzS0ZD5OV9eSAS1RGQI5FaGGJ6zxJ4mpdy/4QzbLdBjnYE5vxA0g== - dependencies: - "@xmldom/xmldom" "~0.7.7" - base64-js "^1.2.3" - xmlbuilder "^14.0.0" - "@expo/prebuild-config@6.2.6": version "6.2.6" resolved "https://registry.yarnpkg.com/@expo/prebuild-config/-/prebuild-config-6.2.6.tgz#c5b4f8adcba4be00c874d6b24a8267d45c555261" @@ -5000,13 +4924,6 @@ expo-build-properties@^0.11.0: ajv "^8.11.0" semver "^7.5.3" -expo-constants@15.4.5: - version "15.4.5" - resolved "https://registry.yarnpkg.com/expo-constants/-/expo-constants-15.4.5.tgz#81756a4c4e1c020f840a419cd86a124a6d1fb35b" - integrity sha512-1pVVjwk733hbbIjtQcvUFCme540v4gFemdNlaxM2UXKbfRCOh2hzgKN5joHMOysoXQe736TTUrRj7UaZI5Yyhg== - dependencies: - "@expo/config" "~8.5.0" - expo-constants@~14.4.2: version "14.4.2" resolved "https://registry.yarnpkg.com/expo-constants/-/expo-constants-14.4.2.tgz#cac5e8b524069545739b8d8595ce96cc5be6578c" @@ -9310,7 +9227,7 @@ slice-ansi@^2.0.0: astral-regex "^1.0.0" is-fullwidth-code-point "^2.0.0" -slugify@^1.3.4, slugify@^1.6.6: +slugify@^1.3.4: version "1.6.6" resolved "https://registry.yarnpkg.com/slugify/-/slugify-1.6.6.tgz#2d4ac0eacb47add6af9e04d3be79319cbcc7924b" integrity sha512-h+z7HKHYXj6wJU+AnS/+IH8Uh9fdcX1Lrhg1/VMdf9PwoBQXFcXiAdsy2tSK0P6gKwJLXp02r90ahUCqHk9rrw== @@ -9567,19 +9484,6 @@ structured-headers@^0.4.1: resolved "https://registry.yarnpkg.com/structured-headers/-/structured-headers-0.4.1.tgz#77abd9410622c6926261c09b9d16cf10592694d1" integrity sha512-0MP/Cxx5SzeeZ10p/bZI0S6MpgD+yxAhi1BOQ34jgnMXsCq3j1t6tQnZu+KdlL7dvJTLT3g9xN8tl10TqgFMcg== -sucrase@3.34.0: - version "3.34.0" - resolved "https://registry.yarnpkg.com/sucrase/-/sucrase-3.34.0.tgz#1e0e2d8fcf07f8b9c3569067d92fbd8690fb576f" - integrity sha512-70/LQEZ07TEcxiU2dz51FKaE6hCTWC6vr7FOk3Gr0U60C3shtAN+H+BFr9XlYe5xqf3RA8nrc+VIwzCfnxuXJw== - dependencies: - "@jridgewell/gen-mapping" "^0.3.2" - commander "^4.0.0" - glob "7.1.6" - lines-and-columns "^1.1.6" - mz "^2.7.0" - pirates "^4.0.1" - ts-interface-checker "^0.1.9" - sucrase@^3.20.0: version "3.35.0" resolved "https://registry.yarnpkg.com/sucrase/-/sucrase-3.35.0.tgz#57f17a3d7e19b36d8995f06679d121be914ae263"