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