diff --git a/mobile/.gitignore b/mobile/.gitignore index 487c551..2f8d0b5 100644 --- a/mobile/.gitignore +++ b/mobile/.gitignore @@ -1,4 +1,5 @@ ios/build/ +ios/Pods/ android/build/ android/app/build/ android/.gradle/ diff --git a/mobile/ios/DeightonAR-tvOS/Info.plist b/mobile/ios/DeightonAR-tvOS/Info.plist deleted file mode 100644 index 2fb6a11..0000000 --- a/mobile/ios/DeightonAR-tvOS/Info.plist +++ /dev/null @@ -1,54 +0,0 @@ - - - - - CFBundleDevelopmentRegion - en - CFBundleExecutable - $(EXECUTABLE_NAME) - CFBundleIdentifier - org.reactjs.native.example.$(PRODUCT_NAME:rfc1034identifier) - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - $(PRODUCT_NAME) - CFBundlePackageType - APPL - CFBundleShortVersionString - 1.0 - CFBundleSignature - ???? - CFBundleVersion - 1 - LSRequiresIPhoneOS - - UILaunchStoryboardName - LaunchScreen - UIRequiredDeviceCapabilities - - armv7 - - UISupportedInterfaceOrientations - - UIInterfaceOrientationPortrait - UIInterfaceOrientationLandscapeLeft - UIInterfaceOrientationLandscapeRight - - UIViewControllerBasedStatusBarAppearance - - NSLocationWhenInUseUsageDescription - - NSAppTransportSecurity - - - NSExceptionDomains - - localhost - - NSExceptionAllowsInsecureHTTPLoads - - - - - - diff --git a/mobile/ios/DeightonAR-tvOSTests/Info.plist b/mobile/ios/DeightonAR-tvOSTests/Info.plist deleted file mode 100644 index 886825c..0000000 --- a/mobile/ios/DeightonAR-tvOSTests/Info.plist +++ /dev/null @@ -1,24 +0,0 @@ - - - - - CFBundleDevelopmentRegion - en - CFBundleExecutable - $(EXECUTABLE_NAME) - CFBundleIdentifier - org.reactjs.native.example.$(PRODUCT_NAME:rfc1034identifier) - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - $(PRODUCT_NAME) - CFBundlePackageType - BNDL - CFBundleShortVersionString - 1.0 - CFBundleSignature - ???? - CFBundleVersion - 1 - - diff --git a/mobile/ios/DeightonAR.xcodeproj/project.pbxproj b/mobile/ios/DeightonAR.xcodeproj/project.pbxproj index 0204a12..084ce10 100644 --- a/mobile/ios/DeightonAR.xcodeproj/project.pbxproj +++ b/mobile/ios/DeightonAR.xcodeproj/project.pbxproj @@ -34,10 +34,12 @@ 2D02E4C81E0B4AEC006451C7 /* libRCTWebSocket-tvOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3DAD3E991DF850E9000B6D8A /* libRCTWebSocket-tvOS.a */; }; 2D16E6881FA4F8E400B85C8A /* libReact.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 2D16E6891FA4F8E400B85C8A /* libReact.a */; }; 2DCD954D1E0B4F2C00145EB5 /* DeightonARTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 00E356F21AD99517003FC87E /* DeightonARTests.m */; }; + 42887A1A6498A7EE06F1A5E0 /* libPods-DeightonARTests.a in Frameworks */ = {isa = PBXBuildFile; fileRef = F3AD13D44FEB1B401BA4BEA4 /* libPods-DeightonARTests.a */; }; 5222222F204EF106001F223F /* libReactNativeNavigation.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 5222222E204EF0C6001F223F /* libReactNativeNavigation.a */; }; 5E9157361DD0AC6A00FF2AA8 /* libRCTAnimation.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 5E9157331DD0AC6500FF2AA8 /* libRCTAnimation.a */; }; 832341BD1AAA6AB300B99B32 /* libRCTText.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 832341B51AAA6A8300B99B32 /* libRCTText.a */; }; ADBDB9381DFEBF1600ED6528 /* libRCTBlob.a in Frameworks */ = {isa = PBXBuildFile; fileRef = ADBDB9271DFEBF0700ED6528 /* libRCTBlob.a */; }; + D356C06C692832D9527CA673 /* libPods-DeightonAR.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 0E216A2FE43BCA2F0D718C6A /* libPods-DeightonAR.a */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -333,6 +335,8 @@ 00E356EE1AD99517003FC87E /* DeightonARTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = DeightonARTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; 00E356F11AD99517003FC87E /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 00E356F21AD99517003FC87E /* DeightonARTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = DeightonARTests.m; sourceTree = ""; }; + 0E041CC8598E28FECB495366 /* Pods-DeightonARTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-DeightonARTests.release.xcconfig"; path = "Pods/Target Support Files/Pods-DeightonARTests/Pods-DeightonARTests.release.xcconfig"; sourceTree = ""; }; + 0E216A2FE43BCA2F0D718C6A /* libPods-DeightonAR.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-DeightonAR.a"; sourceTree = BUILT_PRODUCTS_DIR; }; 139105B61AF99BAD00B5F7CC /* RCTSettings.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTSettings.xcodeproj; path = "../node_modules/react-native/Libraries/Settings/RCTSettings.xcodeproj"; sourceTree = ""; }; 139FDEE61B06529A00C62182 /* RCTWebSocket.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTWebSocket.xcodeproj; path = "../node_modules/react-native/Libraries/WebSocket/RCTWebSocket.xcodeproj"; sourceTree = ""; }; 13B07F961A680F5B00A75B9A /* DeightonAR.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = DeightonAR.app; sourceTree = BUILT_PRODUCTS_DIR; }; @@ -343,14 +347,18 @@ 13B07FB61A68108700A75B9A /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = Info.plist; path = DeightonAR/Info.plist; sourceTree = ""; }; 13B07FB71A68108700A75B9A /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = main.m; path = DeightonAR/main.m; sourceTree = ""; }; 146833FF1AC3E56700842450 /* React.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = React.xcodeproj; path = "../node_modules/react-native/React/React.xcodeproj"; sourceTree = ""; }; + 26500836C6629653F8E3F616 /* Pods-DeightonAR.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-DeightonAR.debug.xcconfig"; path = "Pods/Target Support Files/Pods-DeightonAR/Pods-DeightonAR.debug.xcconfig"; sourceTree = ""; }; 2D02E47B1E0B4A5D006451C7 /* DeightonAR-tvOS.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "DeightonAR-tvOS.app"; sourceTree = BUILT_PRODUCTS_DIR; }; 2D02E4901E0B4A5D006451C7 /* DeightonAR-tvOSTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "DeightonAR-tvOSTests.xctest"; sourceTree = BUILT_PRODUCTS_DIR; }; 2D16E6891FA4F8E400B85C8A /* libReact.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; path = libReact.a; sourceTree = BUILT_PRODUCTS_DIR; }; + 342FE56F63101E1A79A0BE57 /* Pods-DeightonARTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-DeightonARTests.debug.xcconfig"; path = "Pods/Target Support Files/Pods-DeightonARTests/Pods-DeightonARTests.debug.xcconfig"; sourceTree = ""; }; 522221F4204EF0C6001F223F /* ReactNativeNavigation.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = ReactNativeNavigation.xcodeproj; path = "../node_modules/react-native-navigation/ios/ReactNativeNavigation.xcodeproj"; sourceTree = ""; }; 5E91572D1DD0AC6500FF2AA8 /* RCTAnimation.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTAnimation.xcodeproj; path = "../node_modules/react-native/Libraries/NativeAnimation/RCTAnimation.xcodeproj"; sourceTree = ""; }; 78C398B01ACF4ADC00677621 /* RCTLinking.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTLinking.xcodeproj; path = "../node_modules/react-native/Libraries/LinkingIOS/RCTLinking.xcodeproj"; sourceTree = ""; }; 832341B01AAA6A8300B99B32 /* RCTText.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTText.xcodeproj; path = "../node_modules/react-native/Libraries/Text/RCTText.xcodeproj"; sourceTree = ""; }; + 9EDEA397396D8A4D28303D85 /* Pods-DeightonAR.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-DeightonAR.release.xcconfig"; path = "Pods/Target Support Files/Pods-DeightonAR/Pods-DeightonAR.release.xcconfig"; sourceTree = ""; }; ADBDB91F1DFEBF0600ED6528 /* RCTBlob.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTBlob.xcodeproj; path = "../node_modules/react-native/Libraries/Blob/RCTBlob.xcodeproj"; sourceTree = ""; }; + F3AD13D44FEB1B401BA4BEA4 /* libPods-DeightonARTests.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-DeightonARTests.a"; sourceTree = BUILT_PRODUCTS_DIR; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -359,6 +367,7 @@ buildActionMask = 2147483647; files = ( 140ED2AC1D01E1AD002B40FF /* libReact.a in Frameworks */, + 42887A1A6498A7EE06F1A5E0 /* libPods-DeightonARTests.a in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -380,6 +389,7 @@ 832341BD1AAA6AB300B99B32 /* libRCTText.a in Frameworks */, 00C302EA1ABCBA2D00DB3ED1 /* libRCTVibration.a in Frameworks */, 139FDEF61B0652A700C62182 /* libRCTWebSocket.a in Frameworks */, + D356C06C692832D9527CA673 /* libPods-DeightonAR.a in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -524,10 +534,23 @@ name = Products; sourceTree = ""; }; + 259BCB60615F1831976ED6A6 /* Pods */ = { + isa = PBXGroup; + children = ( + 26500836C6629653F8E3F616 /* Pods-DeightonAR.debug.xcconfig */, + 9EDEA397396D8A4D28303D85 /* Pods-DeightonAR.release.xcconfig */, + 342FE56F63101E1A79A0BE57 /* Pods-DeightonARTests.debug.xcconfig */, + 0E041CC8598E28FECB495366 /* Pods-DeightonARTests.release.xcconfig */, + ); + name = Pods; + sourceTree = ""; + }; 2D16E6871FA4F8E400B85C8A /* Frameworks */ = { isa = PBXGroup; children = ( 2D16E6891FA4F8E400B85C8A /* libReact.a */, + 0E216A2FE43BCA2F0D718C6A /* libPods-DeightonAR.a */, + F3AD13D44FEB1B401BA4BEA4 /* libPods-DeightonARTests.a */, ); name = Frameworks; sourceTree = ""; @@ -595,6 +618,7 @@ 00E356EF1AD99517003FC87E /* DeightonARTests */, 83CBBA001A601CBA00E9B192 /* Products */, 2D16E6871FA4F8E400B85C8A /* Frameworks */, + 259BCB60615F1831976ED6A6 /* Pods */, ); indentWidth = 2; sourceTree = ""; @@ -628,9 +652,12 @@ isa = PBXNativeTarget; buildConfigurationList = 00E357021AD99517003FC87E /* Build configuration list for PBXNativeTarget "DeightonARTests" */; buildPhases = ( + FAB9B7A816F30AC542FF9E45 /* [CP] Check Pods Manifest.lock */, 00E356EA1AD99517003FC87E /* Sources */, 00E356EB1AD99517003FC87E /* Frameworks */, 00E356EC1AD99517003FC87E /* Resources */, + FBB3DC660AB7AE912C44C432 /* [CP] Embed Pods Frameworks */, + 9E643D838F30F98591B82370 /* [CP] Copy Pods Resources */, ); buildRules = ( ); @@ -646,10 +673,13 @@ isa = PBXNativeTarget; buildConfigurationList = 13B07F931A680F5B00A75B9A /* Build configuration list for PBXNativeTarget "DeightonAR" */; buildPhases = ( + 7338DA75E702CF17485D1AA9 /* [CP] Check Pods Manifest.lock */, 13B07F871A680F5B00A75B9A /* Sources */, 13B07F8C1A680F5B00A75B9A /* Frameworks */, 13B07F8E1A680F5B00A75B9A /* Resources */, 00DD1BFF1BD5951E006B06BC /* Bundle React Native code and images */, + 4F814743B7EC827F89C63E39 /* [CP] Embed Pods Frameworks */, + C4F94014FA5DFDCBA6DE4978 /* [CP] Copy Pods Resources */, ); buildRules = ( ); @@ -1127,6 +1157,105 @@ shellPath = /bin/sh; shellScript = "export NODE_BINARY=node\n../node_modules/react-native/scripts/react-native-xcode.sh"; }; + 4F814743B7EC827F89C63E39 /* [CP] Embed Pods Frameworks */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + ); + name = "[CP] Embed Pods Frameworks"; + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-DeightonAR/Pods-DeightonAR-frameworks.sh\"\n"; + showEnvVarsInLog = 0; + }; + 7338DA75E702CF17485D1AA9 /* [CP] Check Pods Manifest.lock */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", + ); + name = "[CP] Check Pods Manifest.lock"; + outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-DeightonAR-checkManifestLockResult.txt", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + showEnvVarsInLog = 0; + }; + 9E643D838F30F98591B82370 /* [CP] Copy Pods Resources */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + ); + name = "[CP] Copy Pods Resources"; + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-DeightonARTests/Pods-DeightonARTests-resources.sh\"\n"; + showEnvVarsInLog = 0; + }; + C4F94014FA5DFDCBA6DE4978 /* [CP] Copy Pods Resources */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + "${SRCROOT}/Pods/Target Support Files/Pods-DeightonAR/Pods-DeightonAR-resources.sh", + "${PODS_ROOT}/GoogleMaps/Maps/Frameworks/GoogleMaps.framework/Resources/GoogleMaps.bundle", + ); + name = "[CP] Copy Pods Resources"; + outputPaths = ( + "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/GoogleMaps.bundle", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-DeightonAR/Pods-DeightonAR-resources.sh\"\n"; + showEnvVarsInLog = 0; + }; + FAB9B7A816F30AC542FF9E45 /* [CP] Check Pods Manifest.lock */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", + ); + name = "[CP] Check Pods Manifest.lock"; + outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-DeightonARTests-checkManifestLockResult.txt", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + showEnvVarsInLog = 0; + }; + FBB3DC660AB7AE912C44C432 /* [CP] Embed Pods Frameworks */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + ); + name = "[CP] Embed Pods Frameworks"; + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-DeightonARTests/Pods-DeightonARTests-frameworks.sh\"\n"; + showEnvVarsInLog = 0; + }; /* End PBXShellScriptBuildPhase section */ /* Begin PBXSourcesBuildPhase section */ @@ -1194,6 +1323,7 @@ /* Begin XCBuildConfiguration section */ 00E356F61AD99517003FC87E /* Debug */ = { isa = XCBuildConfiguration; + baseConfigurationReference = 342FE56F63101E1A79A0BE57 /* Pods-DeightonARTests.debug.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; GCC_PREPROCESSOR_DEFINITIONS = ( @@ -1214,6 +1344,7 @@ }; 00E356F71AD99517003FC87E /* Release */ = { isa = XCBuildConfiguration; + baseConfigurationReference = 0E041CC8598E28FECB495366 /* Pods-DeightonARTests.release.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; COPY_PHASE_STRIP = NO; @@ -1231,6 +1362,7 @@ }; 13B07F941A680F5B00A75B9A /* Debug */ = { isa = XCBuildConfiguration; + baseConfigurationReference = 26500836C6629653F8E3F616 /* Pods-DeightonAR.debug.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CURRENT_PROJECT_VERSION = 1; @@ -1249,6 +1381,7 @@ }; 13B07F951A680F5B00A75B9A /* Release */ = { isa = XCBuildConfiguration; + baseConfigurationReference = 9EDEA397396D8A4D28303D85 /* Pods-DeightonAR.release.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CURRENT_PROJECT_VERSION = 1; diff --git a/mobile/ios/DeightonAR.xcworkspace/contents.xcworkspacedata b/mobile/ios/DeightonAR.xcworkspace/contents.xcworkspacedata new file mode 100644 index 0000000..f0ecd58 --- /dev/null +++ b/mobile/ios/DeightonAR.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,10 @@ + + + + + + + diff --git a/mobile/ios/DeightonAR/AppDelegate.m b/mobile/ios/DeightonAR/AppDelegate.m index 8d36879..24987b4 100644 --- a/mobile/ios/DeightonAR/AppDelegate.m +++ b/mobile/ios/DeightonAR/AppDelegate.m @@ -13,19 +13,25 @@ #import #import "RCCManager.h" +@import GoogleMaps; @implementation AppDelegate - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { NSURL *jsCodeLocation; - +#ifdef DEBUG jsCodeLocation = [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@"index" fallbackResource:nil]; +#else + jsCodeLocation = [[NSBundle mainBundle] URLForResource:@"main" withExtension:@"jsbundle"]; +#endif self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds]; self.window.backgroundColor = [UIColor whiteColor]; [[RCCManager sharedInstance] initBridgeWithBundleURL:jsCodeLocation launchOptions:launchOptions]; + [GMSServices provideAPIKey:@"AIzaSyDN4E_vzO4cKjKHkMg_49hX1GBnU34kx4U"]; + /* RCTRootView *rootView = [[RCTRootView alloc] initWithBundleURL:jsCodeLocation moduleName:@"DeightonAR" diff --git a/mobile/ios/Podfile b/mobile/ios/Podfile index db9da28..9a750bb 100644 --- a/mobile/ios/Podfile +++ b/mobile/ios/Podfile @@ -1,5 +1,5 @@ # Uncomment the next line to define a global platform for your project -platform :ios, '9.0' +platform :ios, '9.3' target 'DeightonAR' do # Uncomment the next line if you're using Swift or would like to use dynamic frameworks @@ -18,11 +18,38 @@ target 'DeightonAR' do 'RCTGeolocation', 'RCTImage', ] - pod 'ReactNative' + # Explicitly include Yoga if you are using RN >= 0.42.0 + pod 'yoga', :path => '../node_modules/react-native/ReactCommon/yoga' + + # Third party deps podspec link + pod 'DoubleConversion', :podspec => '../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec' + pod 'GLog', :podspec => '../node_modules/react-native/third-party-podspecs/GLog.podspec' + pod 'Folly', :podspec => '../node_modules/react-native/third-party-podspecs/Folly.podspec' + + pod 'ReactNativeNavigation', :podspec => '../node_modules/react-native-navigation/ios/ReactNativeNavigation.podspec' + + pod 'react-native-maps', path: '../node_modules/react-native-maps' + pod 'react-native-google-maps', path: '../node_modules/react-native-maps' + pod 'GoogleMaps' + pod 'ViroReact', :podspec => '../node_modules/react-viro/ios/ViroReact.podspec' target 'DeightonARTests' do inherit! :search_paths # Pods for testing end - +end + +post_install do |installer| + installer.pods_project.targets.each do |target| + if target.name == 'yoga' + target.build_configurations.each do |config| + config.build_settings['GCC_TREAT_WARNINGS_AS_ERRORS'] = 'NO' + config.build_settings['GCC_WARN_64_TO_32_BIT_CONVERSION'] = 'NO' + end + elsif target.name == 'react-native-google-maps' + target.build_configurations.each do |config| + config.build_settings['CLANG_ENABLE_MODULES'] = 'NO' + end + end + end end diff --git a/mobile/ios/Podfile.lock b/mobile/ios/Podfile.lock new file mode 100644 index 0000000..e5ac71a --- /dev/null +++ b/mobile/ios/Podfile.lock @@ -0,0 +1,130 @@ +PODS: + - boost (1.59.0): + - boost/graph-includes (= 1.59.0) + - boost/math-includes (= 1.59.0) + - boost/numeric-includes (= 1.59.0) + - boost/pointer_cast-includes (= 1.59.0) + - boost/preprocessor-includes (= 1.59.0) + - boost/shared_ptr-includes (= 1.59.0) + - boost/string_algorithms-includes (= 1.59.0) + - boost/graph-includes (1.59.0) + - boost/math-includes (1.59.0) + - boost/numeric-includes (1.59.0) + - boost/pointer_cast-includes (1.59.0) + - boost/preprocessor-includes (1.59.0) + - boost/shared_ptr-includes (1.59.0) + - boost/string_algorithms-includes (1.59.0) + - DoubleConversion (1.1.5) + - Folly (2016.09.26.00): + - boost + - DoubleConversion + - GLog + - GLog (0.3.4) + - GoogleMaps (2.5.0): + - GoogleMaps/Maps (= 2.5.0) + - GoogleMaps/Base (2.5.0) + - GoogleMaps/Maps (2.5.0): + - GoogleMaps/Base + - React (0.51.1): + - React/Core (= 0.51.1) + - react-native-google-maps (0.20.1): + - GoogleMaps (= 2.5.0) + - React + - react-native-maps (0.20.1): + - React + - React/Core (0.51.1): + - yoga (= 0.51.1.React) + - React/CxxBridge (0.51.1): + - Folly (= 2016.09.26.00) + - React/Core + - React/cxxreact + - React/cxxreact (0.51.1): + - boost + - Folly (= 2016.09.26.00) + - React/jschelpers + - React/DevSupport (0.51.1): + - React/Core + - React/RCTWebSocket + - React/fishhook (0.51.1) + - React/jschelpers (0.51.1): + - Folly (= 2016.09.26.00) + - React/PrivateDatabase + - React/PrivateDatabase (0.51.1) + - React/RCTAnimation (0.51.1): + - React/Core + - React/RCTBlob (0.51.1): + - React/Core + - React/RCTGeolocation (0.51.1): + - React/Core + - React/RCTImage (0.51.1): + - React/Core + - React/RCTNetwork + - React/RCTNetwork (0.51.1): + - React/Core + - React/RCTText (0.51.1): + - React/Core + - React/RCTWebSocket (0.51.1): + - React/Core + - React/fishhook + - React/RCTBlob + - ReactNativeNavigation (1.1.407): + - React + - ViroReact (1.0) + - yoga (0.51.1.React) + +DEPENDENCIES: + - DoubleConversion (from `../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec`) + - Folly (from `../node_modules/react-native/third-party-podspecs/Folly.podspec`) + - GLog (from `../node_modules/react-native/third-party-podspecs/GLog.podspec`) + - GoogleMaps + - react-native-google-maps (from `../node_modules/react-native-maps`) + - react-native-maps (from `../node_modules/react-native-maps`) + - React/Core (from `../node_modules/react-native`) + - React/CxxBridge (from `../node_modules/react-native`) + - React/DevSupport (from `../node_modules/react-native`) + - React/RCTAnimation (from `../node_modules/react-native`) + - React/RCTGeolocation (from `../node_modules/react-native`) + - React/RCTImage (from `../node_modules/react-native`) + - React/RCTNetwork (from `../node_modules/react-native`) + - React/RCTText (from `../node_modules/react-native`) + - React/RCTWebSocket (from `../node_modules/react-native`) + - ReactNativeNavigation (from `../node_modules/react-native-navigation/ios/ReactNativeNavigation.podspec`) + - ViroReact (from `../node_modules/react-viro/ios/ViroReact.podspec`) + - yoga (from `../node_modules/react-native/ReactCommon/yoga`) + +EXTERNAL SOURCES: + DoubleConversion: + :podspec: ../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec + Folly: + :podspec: ../node_modules/react-native/third-party-podspecs/Folly.podspec + GLog: + :podspec: ../node_modules/react-native/third-party-podspecs/GLog.podspec + React: + :path: ../node_modules/react-native + react-native-google-maps: + :path: ../node_modules/react-native-maps + react-native-maps: + :path: ../node_modules/react-native-maps + ReactNativeNavigation: + :podspec: ../node_modules/react-native-navigation/ios/ReactNativeNavigation.podspec + ViroReact: + :podspec: ../node_modules/react-viro/ios/ViroReact.podspec + yoga: + :path: ../node_modules/react-native/ReactCommon/yoga + +SPEC CHECKSUMS: + boost: 30a15ffb6d9aa4646dd3caffc960753f4cb4ca4e + DoubleConversion: ebb6747c5b66026ad4f97b789c3ceac6f18e57a6 + Folly: b7255b29f1d693c375d642d0f04f0592181156d9 + GLog: 3e4e4ae9746ce6bf6e9420c7fc1e08ad59c8ba1a + GoogleMaps: c087b8e5dfe87ca6ebf59adb9b4894a4146bec4f + React: 541ba768b9855e10cdc76f55427a5cd0653ca806 + react-native-google-maps: 963fc78a5ac32dad3a726e4fa08b5307faa5cab2 + react-native-maps: 066c2afcc89e18726377bcc685315f989ca22449 + ReactNativeNavigation: 0a0de59d82ed1accc9b762037752b11d794c7a4c + ViroReact: 7ec32276dcd1883662b4587eaedfff67f7fc3625 + yoga: 17521bbb0dd54a47c0b3ac43253e78cdac7488e0 + +PODFILE CHECKSUM: de11229cf9c653989ebd3afbf96ecdc060064230 + +COCOAPODS: 1.4.0 diff --git a/mobile/package-lock.json b/mobile/package-lock.json index c521e6f..2fdd121 100644 --- a/mobile/package-lock.json +++ b/mobile/package-lock.json @@ -430,6 +430,16 @@ "babel-runtime": "6.26.0" } }, + "babel-plugin-module-resolver": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/babel-plugin-module-resolver/-/babel-plugin-module-resolver-2.7.1.tgz", + "integrity": "sha1-GL48Qt31n3pFbJ4FEs2ROU9uS+E=", + "requires": { + "find-babel-config": "1.1.0", + "glob": "7.1.2", + "resolve": "1.5.0" + } + }, "babel-plugin-react-transform": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/babel-plugin-react-transform/-/babel-plugin-react-transform-3.0.0.tgz", @@ -1717,11 +1727,6 @@ "repeating": "2.0.1" } }, - "detect-newline": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-2.1.0.tgz", - "integrity": "sha1-9B8cEL5LAOh7XxPaaAdZ8sW/0+I=" - }, "dom-walk": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/dom-walk/-/dom-walk-0.1.1.tgz", @@ -1749,11 +1754,6 @@ "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=" }, - "encodeurl": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", - "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=" - }, "encoding": { "version": "0.1.12", "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.12.tgz", @@ -1829,6 +1829,14 @@ "which": "1.3.0" } }, + "errno": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.7.tgz", + "integrity": "sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg==", + "requires": { + "prr": "1.0.1" + } + }, "error-ex": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.1.tgz", @@ -2117,6 +2125,15 @@ } } }, + "find-babel-config": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/find-babel-config/-/find-babel-config-1.1.0.tgz", + "integrity": "sha1-rMAQQ6Z0n+w0Qpvmtk9ULrtdY1U=", + "requires": { + "json5": "0.5.1", + "path-exists": "3.0.0" + } + }, "find-up": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", @@ -3200,7 +3217,7 @@ "requires": { "assert-plus": "1.0.0", "jsprim": "1.4.1", - "sshpk": "1.13.1" + "sshpk": "1.14.1" } }, "iconv-lite": { @@ -3447,24 +3464,21 @@ "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=" }, "jest-docblock": { - "version": "22.1.0", - "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-22.1.0.tgz", - "integrity": "sha512-/+OGgBVRJb5wCbXrB1LQvibQBz2SdrvDdKRNzY1gL+OISQJZCR9MOewbygdT5rVzbbkfhC4AR2x+qWmNUdJfjw==", - "requires": { - "detect-newline": "2.1.0" - } + "version": "21.2.0", + "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-21.2.0.tgz", + "integrity": "sha512-5IZ7sY9dBAYSV+YjQ0Ovb540Ku7AO9Z5o2Cg789xj167iQuZ2cG+z0f3Uct6WeYLbU6aQiM2pCs7sZ+4dotydw==" }, "jest-haste-map": { - "version": "22.1.0", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-22.1.0.tgz", - "integrity": "sha512-vETdC6GboGlZX6+9SMZkXtYRQSKBbQ47sFF7NGglbMN4eyIZBODply8rlcO01KwBiAeiNCKdjUyfonZzJ93JEg==", + "version": "21.2.0", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-21.2.0.tgz", + "integrity": "sha512-5LhsY/loPH7wwOFRMs+PT4aIAORJ2qwgbpMFlbWbxfN0bk3ZCwxJ530vrbSiTstMkYLao6JwBkLhCJ5XbY7ZHw==", "requires": { "fb-watchman": "2.0.0", "graceful-fs": "4.1.11", - "jest-docblock": "22.1.0", - "jest-worker": "22.1.0", + "jest-docblock": "21.2.0", "micromatch": "2.3.11", - "sane": "2.4.1" + "sane": "2.4.1", + "worker-farm": "1.6.0" } }, "jest-react-native": { @@ -3473,14 +3487,6 @@ "integrity": "sha1-d92QnwaTJFmfInxYxhwuYhaHJro=", "dev": true }, - "jest-worker": { - "version": "22.1.0", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-22.1.0.tgz", - "integrity": "sha512-ezLueYAQowk5N6g2J7bNZfq4NWZvMNB5Qd24EmOZLcM5SXTdiFvxykZIoNiMj9C98cCbPaojX8tfR7b1LJwNig==", - "requires": { - "merge-stream": "1.0.1" - } - }, "js-tokens": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", @@ -3721,11 +3727,6 @@ "lodash.escape": "3.2.0" } }, - "lodash.throttle": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/lodash.throttle/-/lodash.throttle-4.1.1.tgz", - "integrity": "sha1-wj6RtxAkKscMN/HhzaknTMOb8vQ=" - }, "loose-envify": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.3.1.tgz", @@ -3834,10 +3835,10 @@ "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=" }, - "metro": { - "version": "0.24.7", - "resolved": "https://registry.npmjs.org/metro/-/metro-0.24.7.tgz", - "integrity": "sha512-9Fr3PDPPCTR3WJUHPLZL2nvyEWyvqyyxH9649OmA2TOF7VEtRzWedZlc6PAcl/rDOzwDOu2/c98NRFxnS1CYlw==", + "metro-bundler": { + "version": "0.20.3", + "resolved": "https://registry.npmjs.org/metro-bundler/-/metro-bundler-0.20.3.tgz", + "integrity": "sha512-rKhIXSUEYbBUB9Ues30GYlcotM/4hPTmriBJGdNW5D+zdlxQUgJuPEo2Woo7khNM7xRG5tN7IRnMkKlzx43/Nw==", "requires": { "absolute-path": "0.0.0", "async": "2.6.0", @@ -3851,71 +3852,37 @@ "babylon": "6.18.0", "chalk": "1.1.3", "concat-stream": "1.6.1", - "connect": "3.6.6", "core-js": "2.5.3", "debug": "2.6.9", "denodeify": "1.2.1", - "eventemitter3": "3.0.1", "fbjs": "0.8.16", - "fs-extra": "1.0.0", "graceful-fs": "4.1.11", "image-size": "0.6.2", - "jest-docblock": "22.1.0", - "jest-haste-map": "22.1.0", - "jest-worker": "22.1.0", + "jest-docblock": "21.2.0", + "jest-haste-map": "21.2.0", "json-stable-stringify": "1.0.1", "json5": "0.4.0", "left-pad": "1.2.0", - "lodash.throttle": "4.1.1", + "lodash": "4.17.5", "merge-stream": "1.0.1", - "metro-core": "0.24.7", - "metro-source-map": "0.24.7", "mime-types": "2.1.11", "mkdirp": "0.5.1", - "request": "2.83.0", + "request": "2.85.0", "rimraf": "2.6.2", - "serialize-error": "2.1.0", "source-map": "0.5.7", "temp": "0.8.3", "throat": "4.1.0", "uglify-es": "3.3.9", "wordwrap": "1.0.0", "write-file-atomic": "1.3.4", - "ws": "1.1.5", - "xpipe": "1.0.5", - "yargs": "9.0.1" + "xpipe": "1.0.5" }, "dependencies": { - "connect": { - "version": "3.6.6", - "resolved": "https://registry.npmjs.org/connect/-/connect-3.6.6.tgz", - "integrity": "sha1-Ce/2xVr3I24TcTWnJXSFi2eG9SQ=", - "requires": { - "debug": "2.6.9", - "finalhandler": "1.1.0", - "parseurl": "1.3.2", - "utils-merge": "1.0.1" - } - }, "core-js": { "version": "2.5.3", "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.3.tgz", "integrity": "sha1-isw4NFgk8W2DZbfJtCWRaOjtYD4=" }, - "finalhandler": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.0.tgz", - "integrity": "sha1-zgtoVbRYU+eRsvzGgARtiCU91/U=", - "requires": { - "debug": "2.6.9", - "encodeurl": "1.0.2", - "escape-html": "1.0.3", - "on-finished": "2.3.0", - "parseurl": "1.3.2", - "statuses": "1.3.1", - "unpipe": "1.0.0" - } - }, "json5": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/json5/-/json5-0.4.0.tgz", @@ -3933,35 +3900,9 @@ "requires": { "mime-db": "1.23.0" } - }, - "statuses": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.3.1.tgz", - "integrity": "sha1-+vUbnrdKrvOzrPStX2Gr8ky3uT4=" - }, - "utils-merge": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", - "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=" } } }, - "metro-core": { - "version": "0.24.7", - "resolved": "https://registry.npmjs.org/metro-core/-/metro-core-0.24.7.tgz", - "integrity": "sha512-Qheab9Wmc8T2m3Ax9COyKUk8LxRb1fHWe13CpoEgPIjwFBd6ILNXaq7ZzoWg0OoAbpMsNzvUOnOJNHvfRuJqJg==", - "requires": { - "lodash.throttle": "4.1.1" - } - }, - "metro-source-map": { - "version": "0.24.7", - "resolved": "https://registry.npmjs.org/metro-source-map/-/metro-source-map-0.24.7.tgz", - "integrity": "sha512-12WEgolY5CGvHeHkF5QlM2qatdQC1DyjWkXLK9LzCqzd8YhUZww1+ZCM6E67rJwpeuCU9o1Mkiwd1h7dS+RBvA==", - "requires": { - "source-map": "0.5.7" - } - }, "micromatch": { "version": "2.3.11", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz", @@ -8317,6 +8258,11 @@ "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=" }, + "path-parse": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.5.tgz", + "integrity": "sha1-PBrfhx6pzWyUMbbqK9dKD/BVxME=" + }, "path-type": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz", @@ -8406,6 +8352,11 @@ "object-assign": "4.1.1" } }, + "prr": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", + "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=" + }, "pseudomap": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", @@ -8512,9 +8463,9 @@ "integrity": "sha1-vNMUeAJ7ZLMznxCJIatSC0MT3Cw=" }, "react-devtools-core": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/react-devtools-core/-/react-devtools-core-3.0.0.tgz", - "integrity": "sha512-24oLTwNqZJceQXfAfKRp3PwCyg2agXAQhgGwe/x6V6CvjLmnMmba4/ut9S8JTIJq7pS9fpPaRDGo5u3923RLFA==", + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/react-devtools-core/-/react-devtools-core-2.5.2.tgz", + "integrity": "sha1-+XvsWvrl2TGNFneAZeDCFMTVcUw=", "requires": { "shell-quote": "1.6.1", "ws": "2.3.1" @@ -8525,11 +8476,6 @@ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.0.1.tgz", "integrity": "sha1-0mPKVGls2KMGtcplUekt5XkY++c=" }, - "ultron": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ultron/-/ultron-1.1.1.tgz", - "integrity": "sha512-UIEXBNeYmKptWH6z8ZnqTeS8fV74zG0/eRU9VGkpzz+LIJNs8W/zM/L+7ctCkRrgbNnnR0xxw4bKOr0cW0N0Og==" - }, "ws": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/ws/-/ws-2.3.1.tgz", @@ -8583,9 +8529,9 @@ } }, "react-native": { - "version": "0.52.0", - "resolved": "https://registry.npmjs.org/react-native/-/react-native-0.52.0.tgz", - "integrity": "sha512-2Z/1IIA+0PhgzW/r2qfTIWuDWpA8i+pKud/Ygp6JqoMnbFK79JYPkYSAMEkL7uz+oiQ+4bkKqbbUbVkwgF9ZOg==", + "version": "0.51.1", + "resolved": "https://registry.npmjs.org/react-native/-/react-native-0.51.1.tgz", + "integrity": "sha512-NmaUfIejEQhnpY6wDSHGVUwGAUE2VrG0y/xQQ+tX28Es8c3kXnszyH461UGi8SulG7aCOwZmXpR4J0jV11WGgQ==", "requires": { "absolute-path": "0.0.0", "art": "0.10.1", @@ -8614,8 +8560,7 @@ "graceful-fs": "4.1.11", "inquirer": "3.3.0", "lodash": "4.17.5", - "metro": "0.24.7", - "metro-core": "0.24.7", + "metro-bundler": "0.20.3", "mime": "1.6.0", "minimist": "1.2.0", "mkdirp": "0.5.1", @@ -8629,7 +8574,7 @@ "promise": "7.3.1", "prop-types": "15.6.1", "react-clone-referenced-element": "1.0.1", - "react-devtools-core": "3.0.0", + "react-devtools-core": "2.5.2", "react-timer-mixin": "0.13.3", "regenerator-runtime": "0.11.1", "rimraf": "2.6.2", @@ -8650,8 +8595,68 @@ } } }, + "react-native-google-maps": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/react-native-google-maps/-/react-native-google-maps-1.0.0.tgz", + "integrity": "sha1-31W0IWQr0Cupy5UinKn1VG2wIIw=" + }, + "react-native-maps": { + "version": "0.20.1", + "resolved": "https://registry.npmjs.org/react-native-maps/-/react-native-maps-0.20.1.tgz", + "integrity": "sha512-b+1EqxqtFWc2EdpjWWqJ0uDpgeZwC4y5Gu48ApMqA5CUenp7m6cDyIvMZus7B3f81Ez/+nQWyRmDxBkG4+uSHg==", + "requires": { + "babel-plugin-module-resolver": "2.7.1", + "babel-preset-react-native": "1.9.0" + }, + "dependencies": { + "babel-plugin-react-transform": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/babel-plugin-react-transform/-/babel-plugin-react-transform-2.0.2.tgz", + "integrity": "sha1-UVu/qZaJOYEULZCx+bFjXeKZUQk=", + "requires": { + "lodash": "4.17.5" + } + }, + "babel-preset-react-native": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/babel-preset-react-native/-/babel-preset-react-native-1.9.0.tgz", + "integrity": "sha1-A1/AbGX08qAtAzahALLaFC822rE=", + "requires": { + "babel-plugin-check-es2015-constants": "6.22.0", + "babel-plugin-react-transform": "2.0.2", + "babel-plugin-syntax-async-functions": "6.13.0", + "babel-plugin-syntax-class-properties": "6.13.0", + "babel-plugin-syntax-flow": "6.18.0", + "babel-plugin-syntax-jsx": "6.18.0", + "babel-plugin-syntax-trailing-function-commas": "6.22.0", + "babel-plugin-transform-class-properties": "6.24.1", + "babel-plugin-transform-es2015-arrow-functions": "6.22.0", + "babel-plugin-transform-es2015-block-scoping": "6.26.0", + "babel-plugin-transform-es2015-classes": "6.24.1", + "babel-plugin-transform-es2015-computed-properties": "6.24.1", + "babel-plugin-transform-es2015-destructuring": "6.23.0", + "babel-plugin-transform-es2015-for-of": "6.23.0", + "babel-plugin-transform-es2015-function-name": "6.24.1", + "babel-plugin-transform-es2015-literals": "6.22.0", + "babel-plugin-transform-es2015-modules-commonjs": "6.26.0", + "babel-plugin-transform-es2015-parameters": "6.24.1", + "babel-plugin-transform-es2015-shorthand-properties": "6.24.1", + "babel-plugin-transform-es2015-spread": "6.22.0", + "babel-plugin-transform-es2015-template-literals": "6.22.0", + "babel-plugin-transform-flow-strip-types": "6.22.0", + "babel-plugin-transform-object-assign": "6.22.0", + "babel-plugin-transform-object-rest-spread": "6.26.0", + "babel-plugin-transform-react-display-name": "6.25.0", + "babel-plugin-transform-react-jsx": "6.24.1", + "babel-plugin-transform-react-jsx-source": "6.22.0", + "babel-plugin-transform-regenerator": "6.26.0", + "react-transform-hmr": "1.0.4" + } + } + } + }, "react-native-navigation": { - "version": "github:jlyonsmith/react-native-navigation#d240378a8367dd3e99c1a76d27c3c1e0237e4f57", + "version": "github:jlyonsmith/react-native-navigation#7c5bd295da8c28a27af7b1fc35d50512f2441d86", "requires": { "lodash": "4.17.5" } @@ -8690,6 +8695,14 @@ "react-proxy": "1.1.8" } }, + "react-viro": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/react-viro/-/react-viro-2.4.0.tgz", + "integrity": "sha512-diyDFFun+cfJhMlGlFMaFGJsWt/Nxf6x5l6OS0u/fL6EXaCG1s8cnoxnLwOG8oaXXYSEgeODukPtGzcSfOyeOw==", + "requires": { + "prop-types": "15.6.1" + } + }, "read-pkg": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz", @@ -8807,9 +8820,9 @@ "integrity": "sha1-KbvZIHinOfC8zitO5B6DeVNSKSQ=" }, "request": { - "version": "2.83.0", - "resolved": "https://registry.npmjs.org/request/-/request-2.83.0.tgz", - "integrity": "sha512-lR3gD69osqm6EYLk9wB/G1W/laGWjzH90t1vEa2xuxHD5KUrSzp9pUSfTm+YC5Nxt2T8nMPEvKlhbQayU7bgFw==", + "version": "2.85.0", + "resolved": "https://registry.npmjs.org/request/-/request-2.85.0.tgz", + "integrity": "sha512-8H7Ehijd4js+s6wuVPLjwORxD4zeuyjYugprdOXlPSqaApmL/QOy+EB/beICHVCHkGMKNh5rvihb5ov+IDw4mg==", "requires": { "aws-sign2": "0.7.0", "aws4": "1.6.0", @@ -8852,6 +8865,14 @@ "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=" }, + "resolve": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.5.0.tgz", + "integrity": "sha512-hgoSGrc3pjzAPHNBg+KnFcK2HwlHTs/YrAGUr6qgTVUZmXv1UEXXl0bZNBKMA9fud6lRYFdPGz0xXxycPzmmiw==", + "requires": { + "path-parse": "1.0.5" + } + }, "response-time": { "version": "2.3.2", "resolved": "https://registry.npmjs.org/response-time/-/response-time-2.3.2.tgz", @@ -8990,11 +9011,6 @@ } } }, - "serialize-error": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/serialize-error/-/serialize-error-2.1.0.tgz", - "integrity": "sha1-ULZ51WNc34Rme9yOWa9OW4HV9go=" - }, "serve-favicon": { "version": "2.3.2", "resolved": "https://registry.npmjs.org/serve-favicon/-/serve-favicon-2.3.2.tgz", @@ -9239,9 +9255,9 @@ "integrity": "sha512-2+EPwgbnmOIl8HjGBXXMd9NAu02vLjOO1nWw4kmeRDFyHn+M/ETfHxQUK0oXg8ctgVnl9t3rosNVsZ1jG61nDA==" }, "sshpk": { - "version": "1.13.1", - "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.13.1.tgz", - "integrity": "sha1-US322mKHFEMW3EwY/hzx2UBzm+M=", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.14.1.tgz", + "integrity": "sha1-Ew9Zde3a2WPx1W+SuaxsUfqfg+s=", "requires": { "asn1": "0.2.3", "assert-plus": "1.0.0", @@ -9506,9 +9522,9 @@ } }, "ultron": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/ultron/-/ultron-1.0.2.tgz", - "integrity": "sha1-rOEWq1V80Zc4ak6I9GhTeMiy5Po=" + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ultron/-/ultron-1.1.1.tgz", + "integrity": "sha512-UIEXBNeYmKptWH6z8ZnqTeS8fV74zG0/eRU9VGkpzz+LIJNs8W/zM/L+7ctCkRrgbNnnR0xxw4bKOr0cW0N0Og==" }, "unpipe": { "version": "1.0.0", @@ -9617,6 +9633,14 @@ "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=" }, + "worker-farm": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.6.0.tgz", + "integrity": "sha512-6w+3tHbM87WnSWnENBUvA2pxJPLhQUg5LKwUQHq3r+XPhIM+Gh2R5ycbwPCyuGbNg+lPgdcnQUhuC02kJCvffQ==", + "requires": { + "errno": "0.1.7" + } + }, "wrap-ansi": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", @@ -9668,6 +9692,13 @@ "requires": { "options": "0.0.6", "ultron": "1.0.2" + }, + "dependencies": { + "ultron": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/ultron/-/ultron-1.0.2.tgz", + "integrity": "sha1-rOEWq1V80Zc4ak6I9GhTeMiy5Po=" + } } }, "xcode": { diff --git a/mobile/package.json b/mobile/package.json index 238683e..7c43ebf 100644 --- a/mobile/package.json +++ b/mobile/package.json @@ -22,8 +22,11 @@ "npm": "^5.7.1", "react": "16.2.0", "react-form-binder": "^1.2.0", - "react-native": "0.52.0", + "react-native": "^0.51.1", + "react-native-google-maps": "^1.0.0", + "react-native-maps": "^0.20.1", "react-native-navigation": "github:jlyonsmith/react-native-navigation", + "react-viro": "^2.4.0", "socket.io-client": "^2.0.4" } } diff --git a/mobile/src/app.js b/mobile/src/app.js index 1f2c09c..d4df46f 100644 --- a/mobile/src/app.js +++ b/mobile/src/app.js @@ -7,6 +7,6 @@ registerScreens() Navigation.startSingleScreenApp({ screen: { screen: 'app.Home', - title: 'Home', + title: 'Work Item Map', } }) diff --git a/mobile/src/screens/Home.js b/mobile/src/screens/Home.js index 291af42..31eb8c1 100644 --- a/mobile/src/screens/Home.js +++ b/mobile/src/screens/Home.js @@ -1,6 +1,11 @@ import React from 'react' -import { StyleSheet, Text, View } from 'react-native' +import { StyleSheet, Text, TextInput, FlatList, Image, View } from 'react-native' +import MapView, { Marker } from 'react-native-maps' import { api } from '../API' +import centerImage from './images/center.png' +import settingsImage from './images/settings.png' +import searchImage from './images/search.png' +import cancelImage from './images/cancel.png' export class Home extends React.Component { static navigatorButtons = { @@ -22,11 +27,22 @@ export class Home extends React.Component { container: { flex: 1, backgroundColor: '#fff', - alignItems: 'center', - justifyContent: 'center', - }, + alignItems: 'flex-start', + justifyContent: 'flex-start', + } }) + static data = [ + {key: '1', title: 'Remove Animal Carcass', location: 'Ossington Ave. | 0.2 mi.', state: 'planned', latlng: { latitude: 43.653226, longitude: -79.383184 } }, + {key: '2', title: 'Fix sign post', location: 'Alexandre St. | 0.7 mi.', state: 'open', latlng: { latitude: 43.648118, longitude: 79.392636 }}, + {key: '3', title: 'Overflowing trash', location: 'Bay St. | 0.8 mi.', state: 'open', latlng: { latitude: 43.640168, longitude: -79.409373 }}, + {key: '4', title: 'Leaking water pipe', location: 'Bloor St. | 1.2 mi.', state: 'planned', latlng: { latitude: 43.633110, longitude: -79.415880 }}, + {key: '5', title: 'Tree branch in road', location: 'Blue Jays Way | 2.2 mi.', state: 'open', latlng: { latitude: 43.653526, longitude: -79.361385 }}, + {key: '6', title: 'Washing machine on sidewalk', location: 'Christie St. | 3.0 mi.', state: 'open', latlng: { latitude: 43.663870, longitude: -79.383705 }}, + {key: '7', title: 'Dead moose', location: 'Cummer Ave. | 4.2 mi.', state: 'open', latlng: { latitude: 43.659166, longitude: -79.391350 }}, + {key: '8', title: 'Glass in street', location: 'Danforth Ave. | 4.7 mi.', state: 'open', latlng: { latitude: 43.663538, longitude: -79.423212 }}, + ] + constructor(props) { super(props); this.props.navigator.setOnNavigatorEvent(this.onNavigatorEvent.bind(this)) @@ -57,6 +73,56 @@ export class Home extends React.Component { render() { return ( + + { + Home.data.map(marker => ( + + )) + } + + + + + + + { + return ( + + {item.state.toUpperCase()} + + {item.title} + {item.location} + + + ) + }} /> + + + Hide List + + ); } diff --git a/mobile/src/screens/Login.js b/mobile/src/screens/Login.js index 6ef6e64..877f7ec 100644 --- a/mobile/src/screens/Login.js +++ b/mobile/src/screens/Login.js @@ -100,7 +100,7 @@ export class Login extends React.Component { - + ) diff --git a/mobile/src/screens/images/cancel.png b/mobile/src/screens/images/cancel.png new file mode 100644 index 0000000..08e3c85 Binary files /dev/null and b/mobile/src/screens/images/cancel.png differ diff --git a/mobile/src/screens/images/center.png b/mobile/src/screens/images/center.png new file mode 100644 index 0000000..eecd747 Binary files /dev/null and b/mobile/src/screens/images/center.png differ diff --git a/mobile/src/screens/images/search.png b/mobile/src/screens/images/search.png new file mode 100644 index 0000000..d38c1ec Binary files /dev/null and b/mobile/src/screens/images/search.png differ diff --git a/mobile/src/screens/images/settings.png b/mobile/src/screens/images/settings.png new file mode 100644 index 0000000..b58089a Binary files /dev/null and b/mobile/src/screens/images/settings.png differ