vbea 3 jaren geleden
bovenliggende
commit
c2f2058611

+ 1 - 1
Strides-APP/android/app/build.gradle

@@ -3,7 +3,7 @@ apply plugin: 'com.google.gms.google-services'
 
 import com.android.build.OutputFile
 
-def myVersionName = "0.3.5 Alpha" //★★★★★版本号★★★★★
+def myVersionName = "0.4.0 Beta" //★★★★★版本号★★★★★
 /**
  * The react.gradle file registers a task for each build variant (e.g. bundleDebugJsAndAssets
  * and bundleReleaseJsAndAssets).

+ 2 - 2
Strides-APP/android/app/version.properties

@@ -1,2 +1,2 @@
-#Fri Jan 06 10:55:20 CST 2023
-VERSION_CODE=67
+#Wed Jan 11 14:18:08 CST 2023
+VERSION_CODE=69

+ 2 - 2
Strides-APP/app.json

@@ -1,8 +1,8 @@
 {
   "name": "JuicePlus",
   "displayName": "ChargEco",
-  "versionCode": 60,
-  "versionName": "V0.3.5 Alpha",
+  "versionCode": 80,
+  "versionName": "V0.4.0 Beta",
   "product": false,
   "debug": false
 }

+ 15 - 5
Strides-APP/app/pages/About.js

@@ -5,6 +5,7 @@
 import React from 'react';
 import { View, Text, Image, StyleSheet } from 'react-native';
 import app from '../../app.json';
+import { PageList } from './Router';
 
 const author = 2022;
 
@@ -17,6 +18,11 @@ export default About = () => {
         source={require('../images/about-logo.png')}/>
       {/* <Text style={styles.appName}>{app.displayName}</Text> */}
       <Text style={styles.versionName}>{app.versionName}</Text>
+      <Text style={ui.flex1}></Text>
+      <View style={ui.flexcc}>
+        <Text style={styles.linkText} onPress={() => startPage(PageList.condition)}>Terms of Use</Text>
+        <Text style={styles.linkText} onPress={() => startPage(PageList.privacy)}>Privacy Policy</Text>
+      </View>
       <Text style={styles.copyright}>{'Copyright ' + /*app.versionName + ' Build ' + app.versionCode + */getYearRange()+' Strides Pte. Ltd.'}</Text>
     </View>
   );
@@ -55,13 +61,17 @@ const styles = StyleSheet.create({
     textAlign: 'center',
   },
   copyright: {
-    left: 0,
-    right: 0,
-    bottom: 16,
     color: '#aaa',
     fontSize: 10,
     lineHeight: 14,
-    textAlign: 'center',
-    position: 'absolute',
+    marginBottom: 16,
+    textAlign: 'center'
+  },
+  linkText: {
+    ...ui.link,
+    fontSize: 10,
+    padding: 1,
+    marginLeft: 4,
+    marginRight: 4
   }
 })

+ 5 - 2
Strides-APP/app/pages/charge/Charge.js

@@ -37,8 +37,10 @@ export default class Charge extends Component {
       showErrorDialog: false,
       showStationDialog: false,
       curerntPerUser: undefined,
-      currentPayment: PAYTYPE.CREDIT_WALLET,
-      currentPaytype: "Credit Wallet"
+      //currentPayment: PAYTYPE.CREDIT_WALLET,
+      //currentPaytype: "Credit Wallet",
+      currentPayment: PAYTYPE.PAY_PER_USE,
+      currentPaytype: "Pay Per Use (SGQR)"
     };
     this.changeMethod = false;
     this.canAutoRefresh = false;
@@ -328,6 +330,7 @@ export default class Charge extends Component {
           refreshId={this.state.refreshId}
           payType={this.state.currentPaytype}
           balance={this.state.curerntPerUser}
+          isPayPerUse={this.state.currentPayment == PAYTYPE.PAY_PER_USE}
           onMethodChange={() => this.onMethodChange()}
         />
         

+ 8 - 2
Strides-APP/app/pages/my/Condition.js

@@ -4,8 +4,7 @@
  */
 import React, { Component } from 'react';
 import { View, StyleSheet, Text, ScrollView } from 'react-native';
-import Button from '../../components/Button';
-import Filter from '../home/maps/Filter';
+import WebView from 'react-native-webview';
 import Dialog from '../../components/Dialog';
 
 export default class Condition extends Component {
@@ -14,6 +13,7 @@ export default class Condition extends Component {
     this.state = {
       filterIndex: {},
       showFilter: false,
+      url: "https://uat.chargeco.global/ChargecoTermOfUse.html"
     };
   }
 
@@ -37,6 +37,12 @@ export default class Condition extends Component {
   }
 
   render() {
+    return (
+      <WebView source={{uri: this.state.url}}/>
+    )
+  }
+
+  render2() {
     return (
       <ScrollView style={styles.container}>
         <Text style={styles.subt}>Juice+ Solution Terms of Use</Text>

+ 5 - 0
Strides-APP/app/pages/my/Privacy.js

@@ -4,8 +4,13 @@
  */
 import React, { useEffect } from 'react';
 import { View, Text, StyleSheet, ScrollView } from 'react-native';
+import WebView from 'react-native-webview';
 
 const Privacy = () => {
+  const url = "https://uat.chargeco.global/ChargecoDataPrivacy.html"
+  return (
+    <WebView source={{uri: url}}/>
+  )
   return (
     <ScrollView style={styles.container}>
       <Text style={styles.title}>Introduction</Text>

+ 2 - 2
Strides-APP/app/pages/wallet/Payment.js

@@ -13,7 +13,7 @@ import { PageList } from '../Router';
 
 const Payment = ({
     topup, balance,
-    payType="Pay Per Use (SGQR)", isWallet = false,
+    payType="Pay Per Use (SGQR)", isWallet = false, isPayPerUse=true,
     //payType="Credit Wallet", isWallet = true,
     onMethodChange, refreshId = 0
   }) => {
@@ -31,7 +31,7 @@ const Payment = ({
         style={styles.walletIcon}
         source={require('../../images/charge/ic-payment.png')}
       />
-      { isWallet
+      { isWallet || isPayPerUse
         ? <View style={{paddingLeft: 16}}>
             <Image
               style={{

+ 219 - 138
Strides-APP/ios/JuicePlus.xcodeproj/project.pbxproj

@@ -503,6 +503,13 @@
 			remoteGlobalIDString = 8DF63376066E2275FF26820B3A512A9B;
 			remoteInfo = "react-native-webview";
 		};
+		732F2CF6296FA69A00A90ECF /* PBXContainerItemProxy */ = {
+			isa = PBXContainerItemProxy;
+			containerPortal = 3862FE5D2668D3C90097D3A3 /* Pods.xcodeproj */;
+			proxyType = 2;
+			remoteGlobalIDString = 148D0F9E8C7373FEAF40D800FC5F1BAA;
+			remoteInfo = FirebaseCoreInternal;
+		};
 /* End PBXContainerItemProxy section */
 
 /* Begin PBXFileReference section */
@@ -597,74 +604,75 @@
 		3862FE5E2668D3C90097D3A3 /* Products */ = {
 			isa = PBXGroup;
 			children = (
-				3862FE992668D3C90097D3A3 /* libDoubleConversion.a */,
-				3862FE9B2668D3C90097D3A3 /* libFBReactNativeSpec.a */,
-				3806701926DF20DA00271DFA /* libFirebaseCore.a */,
-				3806701B26DF20DA00271DFA /* libFirebaseCoreDiagnostics.a */,
-				3806701D26DF20DA00271DFA /* libFirebaseInstallations.a */,
-				3806701F26DF20DA00271DFA /* libFirebaseMessaging.a */,
-				3862FE9D2668D3C90097D3A3 /* libglog.a */,
-				38C6DA652668E46D00D889BC /* libGoogle-Maps-iOS-Utils.a */,
-				3806702126DF20DA00271DFA /* libGoogleDataTransport.a */,
-				3806702326DF20DA00271DFA /* libGoogleUtilities.a */,
-				3806702526DF20DA00271DFA /* libnanopb.a */,
-				3860E72F266E248E0059CC98 /* libPermission-AppTrackingTransparency.a */,
-				3862FE9F2668D3C90097D3A3 /* libPermission-Camera.a */,
-				3860E731266E248E0059CC98 /* libPermission-LocationAccuracy.a */,
-				3860E733266E248E0059CC98 /* libPermission-LocationAlways.a */,
-				3860E735266E248E0059CC98 /* libPermission-LocationWhenInUse.a */,
-				3860E739266E248E0059CC98 /* libPermission-Microphone.a */,
-				3860E73D266E248E0059CC98 /* libPermission-Notifications.a */,
-				3860E73F266E248E0059CC98 /* libPermission-PhotoLibrary.a */,
-				3860E741266E248E0059CC98 /* libPermission-PhotoLibraryAddOnly.a */,
-				3862FEA12668D3C90097D3A3 /* libPods-JuicePlus.a */,
-				3862FEA32668D3C90097D3A3 /* libPods-JuicePlus-JuicePlusTests.a */,
-				3806702726DF20DA00271DFA /* libPromisesObjC.a */,
-				3862FEA52668D3C90097D3A3 /* libRCT-Folly.a */,
-				3862FEA72668D3C90097D3A3 /* libRCTTypeSafety.a */,
-				3862FEA92668D3C90097D3A3 /* libReact-Core.a */,
+				3862FE992668D3C90097D3A3 /* DoubleConversion */,
+				3862FE9B2668D3C90097D3A3 /* FBReactNativeSpec */,
+				3806701926DF20DA00271DFA /* FirebaseCore */,
+				3806701B26DF20DA00271DFA /* FirebaseCoreDiagnostics */,
+				732F2CF7296FA69A00A90ECF /* FirebaseCoreInternal */,
+				3806701D26DF20DA00271DFA /* FirebaseInstallations */,
+				3806701F26DF20DA00271DFA /* FirebaseMessaging */,
+				3862FE9D2668D3C90097D3A3 /* glog */,
+				38C6DA652668E46D00D889BC /* Google-Maps-iOS-Utils */,
+				3806702126DF20DA00271DFA /* GoogleDataTransport */,
+				3806702326DF20DA00271DFA /* GoogleUtilities */,
+				3806702526DF20DA00271DFA /* nanopb */,
+				3860E72F266E248E0059CC98 /* Permission-AppTrackingTransparency */,
+				3862FE9F2668D3C90097D3A3 /* Permission-Camera */,
+				3860E731266E248E0059CC98 /* Permission-LocationAccuracy */,
+				3860E733266E248E0059CC98 /* Permission-LocationAlways */,
+				3860E735266E248E0059CC98 /* Permission-LocationWhenInUse */,
+				3860E739266E248E0059CC98 /* Permission-Microphone */,
+				3860E73D266E248E0059CC98 /* Permission-Notifications */,
+				3860E73F266E248E0059CC98 /* Permission-PhotoLibrary */,
+				3860E741266E248E0059CC98 /* Permission-PhotoLibraryAddOnly */,
+				3862FEA12668D3C90097D3A3 /* Pods-JuicePlus */,
+				3862FEA32668D3C90097D3A3 /* Pods-JuicePlus-JuicePlusTests */,
+				3806702726DF20DA00271DFA /* PromisesObjC */,
+				3862FEA52668D3C90097D3A3 /* RCT-Folly */,
+				3862FEA72668D3C90097D3A3 /* RCTTypeSafety */,
+				3862FEA92668D3C90097D3A3 /* React-Core */,
 				3862FEAB2668D3C90097D3A3 /* AccessibilityResources.bundle */,
-				3862FEAD2668D3C90097D3A3 /* libReact-CoreModules.a */,
-				3862FEAF2668D3C90097D3A3 /* libReact-cxxreact.a */,
-				3862FEB12668D3C90097D3A3 /* libReact-jsi.a */,
-				3862FEB32668D3C90097D3A3 /* libReact-jsiexecutor.a */,
-				3862FEB52668D3C90097D3A3 /* libReact-jsinspector.a */,
-				3862FEB72668D3C90097D3A3 /* libreact-native-camera.a */,
-				3862FEB92668D3C90097D3A3 /* libreact-native-cameraroll.a */,
-				3862FEBB2668D3C90097D3A3 /* libreact-native-geolocation.a */,
-				38C6DA672668E46D00D889BC /* libreact-native-google-maps.a */,
-				3862FEBD2668D3C90097D3A3 /* libreact-native-maps.a */,
-				3862FEBF2668D3C90097D3A3 /* libreact-native-safe-area-context.a */,
-				3862FEC12668D3C90097D3A3 /* libreact-native-view-shot.a */,
-				38EDDA1526830E380093F908 /* libreact-native-webview.a */,
-				3862FEC32668D3C90097D3A3 /* libReact-perflogger.a */,
-				3862FEC52668D3C90097D3A3 /* libReact-RCTAnimation.a */,
-				3862FEC72668D3C90097D3A3 /* libReact-RCTBlob.a */,
-				3862FEC92668D3C90097D3A3 /* libReact-RCTImage.a */,
-				3862FECB2668D3C90097D3A3 /* libReact-RCTLinking.a */,
-				3862FECD2668D3C90097D3A3 /* libReact-RCTNetwork.a */,
-				3862FECF2668D3C90097D3A3 /* libReact-RCTSettings.a */,
-				3862FED12668D3C90097D3A3 /* libReact-RCTText.a */,
-				3862FED32668D3C90097D3A3 /* libReact-RCTVibration.a */,
-				3862FED52668D3C90097D3A3 /* libReactCommon.a */,
-				3862FED72668D3C90097D3A3 /* libReactNativeART.a */,
-				3862FED92668D3C90097D3A3 /* libRNCAsyncStorage.a */,
-				3862FEDB2668D3C90097D3A3 /* libRNCCheckbox.a */,
-				3862FEDD2668D3C90097D3A3 /* libRNCMaskedView.a */,
-				3862FEE12668D3C90097D3A3 /* libRNCPushNotificationIOS.a */,
-				382FB1E7272F967F007EE9BB /* libRNDeviceInfo.a */,
-				3862FEE32668D3C90097D3A3 /* libRNGestureHandler.a */,
-				3862FEE52668D3C90097D3A3 /* libRNImageCropPicker.a */,
+				3862FEAD2668D3C90097D3A3 /* React-CoreModules */,
+				3862FEAF2668D3C90097D3A3 /* React-cxxreact */,
+				3862FEB12668D3C90097D3A3 /* React-jsi */,
+				3862FEB32668D3C90097D3A3 /* React-jsiexecutor */,
+				3862FEB52668D3C90097D3A3 /* React-jsinspector */,
+				3862FEB72668D3C90097D3A3 /* react-native-camera */,
+				3862FEB92668D3C90097D3A3 /* react-native-cameraroll */,
+				3862FEBB2668D3C90097D3A3 /* react-native-geolocation */,
+				38C6DA672668E46D00D889BC /* react-native-google-maps */,
+				3862FEBD2668D3C90097D3A3 /* react-native-maps */,
+				3862FEBF2668D3C90097D3A3 /* react-native-safe-area-context */,
+				3862FEC12668D3C90097D3A3 /* react-native-view-shot */,
+				38EDDA1526830E380093F908 /* react-native-webview */,
+				3862FEC32668D3C90097D3A3 /* React-perflogger */,
+				3862FEC52668D3C90097D3A3 /* React-RCTAnimation */,
+				3862FEC72668D3C90097D3A3 /* React-RCTBlob */,
+				3862FEC92668D3C90097D3A3 /* React-RCTImage */,
+				3862FECB2668D3C90097D3A3 /* React-RCTLinking */,
+				3862FECD2668D3C90097D3A3 /* React-RCTNetwork */,
+				3862FECF2668D3C90097D3A3 /* React-RCTSettings */,
+				3862FED12668D3C90097D3A3 /* React-RCTText */,
+				3862FED32668D3C90097D3A3 /* React-RCTVibration */,
+				3862FED52668D3C90097D3A3 /* ReactCommon */,
+				3862FED72668D3C90097D3A3 /* ReactNativeART */,
+				3862FED92668D3C90097D3A3 /* RNCAsyncStorage */,
+				3862FEDB2668D3C90097D3A3 /* RNCCheckbox */,
+				3862FEDD2668D3C90097D3A3 /* RNCMaskedView */,
+				3862FEE12668D3C90097D3A3 /* RNCPushNotificationIOS */,
+				382FB1E7272F967F007EE9BB /* RNDeviceInfo */,
+				3862FEE32668D3C90097D3A3 /* RNGestureHandler */,
+				3862FEE52668D3C90097D3A3 /* RNImageCropPicker */,
 				3862FEE72668D3C90097D3A3 /* QBImagePicker.bundle */,
-				3862FEE92668D3C90097D3A3 /* libRNPermissions.a */,
-				3862FEEB2668D3C90097D3A3 /* libRNReanimated.a */,
-				3862FEED2668D3C90097D3A3 /* libRNScreens.a */,
-				3862FEEF2668D3C90097D3A3 /* libRNShare.a */,
-				3862FEF12668D3C90097D3A3 /* libRNSVG.a */,
-				3860E743266E248E0059CC98 /* libRNVectorIcons.a */,
-				3862FEF52668D3C90097D3A3 /* libTOCropViewController.a */,
+				3862FEE92668D3C90097D3A3 /* RNPermissions */,
+				3862FEEB2668D3C90097D3A3 /* RNReanimated */,
+				3862FEED2668D3C90097D3A3 /* RNScreens */,
+				3862FEEF2668D3C90097D3A3 /* RNShare */,
+				3862FEF12668D3C90097D3A3 /* RNSVG */,
+				3860E743266E248E0059CC98 /* RNVectorIcons */,
+				3862FEF52668D3C90097D3A3 /* TOCropViewController */,
 				3862FEF72668D3C90097D3A3 /* TOCropViewControllerBundle.bundle */,
-				3862FEF92668D3C90097D3A3 /* libYoga.a */,
+				3862FEF92668D3C90097D3A3 /* Yoga */,
 			);
 			name = Products;
 			sourceTree = "<group>";
@@ -799,191 +807,218 @@
 /* End PBXProject section */
 
 /* Begin PBXReferenceProxy section */
-		3806701926DF20DA00271DFA /* libFirebaseCore.a */ = {
+		3806701926DF20DA00271DFA /* FirebaseCore */ = {
 			isa = PBXReferenceProxy;
 			fileType = archive.ar;
+			name = FirebaseCore;
 			path = libFirebaseCore.a;
 			remoteRef = 3806701826DF20DA00271DFA /* PBXContainerItemProxy */;
 			sourceTree = BUILT_PRODUCTS_DIR;
 		};
-		3806701B26DF20DA00271DFA /* libFirebaseCoreDiagnostics.a */ = {
+		3806701B26DF20DA00271DFA /* FirebaseCoreDiagnostics */ = {
 			isa = PBXReferenceProxy;
 			fileType = archive.ar;
+			name = FirebaseCoreDiagnostics;
 			path = libFirebaseCoreDiagnostics.a;
 			remoteRef = 3806701A26DF20DA00271DFA /* PBXContainerItemProxy */;
 			sourceTree = BUILT_PRODUCTS_DIR;
 		};
-		3806701D26DF20DA00271DFA /* libFirebaseInstallations.a */ = {
+		3806701D26DF20DA00271DFA /* FirebaseInstallations */ = {
 			isa = PBXReferenceProxy;
 			fileType = archive.ar;
+			name = FirebaseInstallations;
 			path = libFirebaseInstallations.a;
 			remoteRef = 3806701C26DF20DA00271DFA /* PBXContainerItemProxy */;
 			sourceTree = BUILT_PRODUCTS_DIR;
 		};
-		3806701F26DF20DA00271DFA /* libFirebaseMessaging.a */ = {
+		3806701F26DF20DA00271DFA /* FirebaseMessaging */ = {
 			isa = PBXReferenceProxy;
 			fileType = archive.ar;
+			name = FirebaseMessaging;
 			path = libFirebaseMessaging.a;
 			remoteRef = 3806701E26DF20DA00271DFA /* PBXContainerItemProxy */;
 			sourceTree = BUILT_PRODUCTS_DIR;
 		};
-		3806702126DF20DA00271DFA /* libGoogleDataTransport.a */ = {
+		3806702126DF20DA00271DFA /* GoogleDataTransport */ = {
 			isa = PBXReferenceProxy;
 			fileType = archive.ar;
+			name = GoogleDataTransport;
 			path = libGoogleDataTransport.a;
 			remoteRef = 3806702026DF20DA00271DFA /* PBXContainerItemProxy */;
 			sourceTree = BUILT_PRODUCTS_DIR;
 		};
-		3806702326DF20DA00271DFA /* libGoogleUtilities.a */ = {
+		3806702326DF20DA00271DFA /* GoogleUtilities */ = {
 			isa = PBXReferenceProxy;
 			fileType = archive.ar;
+			name = GoogleUtilities;
 			path = libGoogleUtilities.a;
 			remoteRef = 3806702226DF20DA00271DFA /* PBXContainerItemProxy */;
 			sourceTree = BUILT_PRODUCTS_DIR;
 		};
-		3806702526DF20DA00271DFA /* libnanopb.a */ = {
+		3806702526DF20DA00271DFA /* nanopb */ = {
 			isa = PBXReferenceProxy;
 			fileType = archive.ar;
+			name = nanopb;
 			path = libnanopb.a;
 			remoteRef = 3806702426DF20DA00271DFA /* PBXContainerItemProxy */;
 			sourceTree = BUILT_PRODUCTS_DIR;
 		};
-		3806702726DF20DA00271DFA /* libPromisesObjC.a */ = {
+		3806702726DF20DA00271DFA /* PromisesObjC */ = {
 			isa = PBXReferenceProxy;
 			fileType = archive.ar;
+			name = PromisesObjC;
 			path = libPromisesObjC.a;
 			remoteRef = 3806702626DF20DA00271DFA /* PBXContainerItemProxy */;
 			sourceTree = BUILT_PRODUCTS_DIR;
 		};
-		382FB1E7272F967F007EE9BB /* libRNDeviceInfo.a */ = {
+		382FB1E7272F967F007EE9BB /* RNDeviceInfo */ = {
 			isa = PBXReferenceProxy;
 			fileType = archive.ar;
+			name = RNDeviceInfo;
 			path = libRNDeviceInfo.a;
 			remoteRef = 382FB1E6272F967F007EE9BB /* PBXContainerItemProxy */;
 			sourceTree = BUILT_PRODUCTS_DIR;
 		};
-		3860E72F266E248E0059CC98 /* libPermission-AppTrackingTransparency.a */ = {
+		3860E72F266E248E0059CC98 /* Permission-AppTrackingTransparency */ = {
 			isa = PBXReferenceProxy;
 			fileType = archive.ar;
+			name = "Permission-AppTrackingTransparency";
 			path = "libPermission-AppTrackingTransparency.a";
 			remoteRef = 3860E72E266E248E0059CC98 /* PBXContainerItemProxy */;
 			sourceTree = BUILT_PRODUCTS_DIR;
 		};
-		3860E731266E248E0059CC98 /* libPermission-LocationAccuracy.a */ = {
+		3860E731266E248E0059CC98 /* Permission-LocationAccuracy */ = {
 			isa = PBXReferenceProxy;
 			fileType = archive.ar;
+			name = "Permission-LocationAccuracy";
 			path = "libPermission-LocationAccuracy.a";
 			remoteRef = 3860E730266E248E0059CC98 /* PBXContainerItemProxy */;
 			sourceTree = BUILT_PRODUCTS_DIR;
 		};
-		3860E733266E248E0059CC98 /* libPermission-LocationAlways.a */ = {
+		3860E733266E248E0059CC98 /* Permission-LocationAlways */ = {
 			isa = PBXReferenceProxy;
 			fileType = archive.ar;
+			name = "Permission-LocationAlways";
 			path = "libPermission-LocationAlways.a";
 			remoteRef = 3860E732266E248E0059CC98 /* PBXContainerItemProxy */;
 			sourceTree = BUILT_PRODUCTS_DIR;
 		};
-		3860E735266E248E0059CC98 /* libPermission-LocationWhenInUse.a */ = {
+		3860E735266E248E0059CC98 /* Permission-LocationWhenInUse */ = {
 			isa = PBXReferenceProxy;
 			fileType = archive.ar;
+			name = "Permission-LocationWhenInUse";
 			path = "libPermission-LocationWhenInUse.a";
 			remoteRef = 3860E734266E248E0059CC98 /* PBXContainerItemProxy */;
 			sourceTree = BUILT_PRODUCTS_DIR;
 		};
-		3860E739266E248E0059CC98 /* libPermission-Microphone.a */ = {
+		3860E739266E248E0059CC98 /* Permission-Microphone */ = {
 			isa = PBXReferenceProxy;
 			fileType = archive.ar;
+			name = "Permission-Microphone";
 			path = "libPermission-Microphone.a";
 			remoteRef = 3860E738266E248E0059CC98 /* PBXContainerItemProxy */;
 			sourceTree = BUILT_PRODUCTS_DIR;
 		};
-		3860E73D266E248E0059CC98 /* libPermission-Notifications.a */ = {
+		3860E73D266E248E0059CC98 /* Permission-Notifications */ = {
 			isa = PBXReferenceProxy;
 			fileType = archive.ar;
+			name = "Permission-Notifications";
 			path = "libPermission-Notifications.a";
 			remoteRef = 3860E73C266E248E0059CC98 /* PBXContainerItemProxy */;
 			sourceTree = BUILT_PRODUCTS_DIR;
 		};
-		3860E73F266E248E0059CC98 /* libPermission-PhotoLibrary.a */ = {
+		3860E73F266E248E0059CC98 /* Permission-PhotoLibrary */ = {
 			isa = PBXReferenceProxy;
 			fileType = archive.ar;
+			name = "Permission-PhotoLibrary";
 			path = "libPermission-PhotoLibrary.a";
 			remoteRef = 3860E73E266E248E0059CC98 /* PBXContainerItemProxy */;
 			sourceTree = BUILT_PRODUCTS_DIR;
 		};
-		3860E741266E248E0059CC98 /* libPermission-PhotoLibraryAddOnly.a */ = {
+		3860E741266E248E0059CC98 /* Permission-PhotoLibraryAddOnly */ = {
 			isa = PBXReferenceProxy;
 			fileType = archive.ar;
+			name = "Permission-PhotoLibraryAddOnly";
 			path = "libPermission-PhotoLibraryAddOnly.a";
 			remoteRef = 3860E740266E248E0059CC98 /* PBXContainerItemProxy */;
 			sourceTree = BUILT_PRODUCTS_DIR;
 		};
-		3860E743266E248E0059CC98 /* libRNVectorIcons.a */ = {
+		3860E743266E248E0059CC98 /* RNVectorIcons */ = {
 			isa = PBXReferenceProxy;
 			fileType = archive.ar;
+			name = RNVectorIcons;
 			path = libRNVectorIcons.a;
 			remoteRef = 3860E742266E248E0059CC98 /* PBXContainerItemProxy */;
 			sourceTree = BUILT_PRODUCTS_DIR;
 		};
-		3862FE992668D3C90097D3A3 /* libDoubleConversion.a */ = {
+		3862FE992668D3C90097D3A3 /* DoubleConversion */ = {
 			isa = PBXReferenceProxy;
 			fileType = archive.ar;
+			name = DoubleConversion;
 			path = libDoubleConversion.a;
 			remoteRef = 3862FE982668D3C90097D3A3 /* PBXContainerItemProxy */;
 			sourceTree = BUILT_PRODUCTS_DIR;
 		};
-		3862FE9B2668D3C90097D3A3 /* libFBReactNativeSpec.a */ = {
+		3862FE9B2668D3C90097D3A3 /* FBReactNativeSpec */ = {
 			isa = PBXReferenceProxy;
 			fileType = archive.ar;
+			name = FBReactNativeSpec;
 			path = libFBReactNativeSpec.a;
 			remoteRef = 3862FE9A2668D3C90097D3A3 /* PBXContainerItemProxy */;
 			sourceTree = BUILT_PRODUCTS_DIR;
 		};
-		3862FE9D2668D3C90097D3A3 /* libglog.a */ = {
+		3862FE9D2668D3C90097D3A3 /* glog */ = {
 			isa = PBXReferenceProxy;
 			fileType = archive.ar;
+			name = glog;
 			path = libglog.a;
 			remoteRef = 3862FE9C2668D3C90097D3A3 /* PBXContainerItemProxy */;
 			sourceTree = BUILT_PRODUCTS_DIR;
 		};
-		3862FE9F2668D3C90097D3A3 /* libPermission-Camera.a */ = {
+		3862FE9F2668D3C90097D3A3 /* Permission-Camera */ = {
 			isa = PBXReferenceProxy;
 			fileType = archive.ar;
+			name = "Permission-Camera";
 			path = "libPermission-Camera.a";
 			remoteRef = 3862FE9E2668D3C90097D3A3 /* PBXContainerItemProxy */;
 			sourceTree = BUILT_PRODUCTS_DIR;
 		};
-		3862FEA12668D3C90097D3A3 /* libPods-JuicePlus.a */ = {
+		3862FEA12668D3C90097D3A3 /* Pods-JuicePlus */ = {
 			isa = PBXReferenceProxy;
 			fileType = archive.ar;
+			name = "Pods-JuicePlus";
 			path = "libPods-JuicePlus.a";
 			remoteRef = 3862FEA02668D3C90097D3A3 /* PBXContainerItemProxy */;
 			sourceTree = BUILT_PRODUCTS_DIR;
 		};
-		3862FEA32668D3C90097D3A3 /* libPods-JuicePlus-JuicePlusTests.a */ = {
+		3862FEA32668D3C90097D3A3 /* Pods-JuicePlus-JuicePlusTests */ = {
 			isa = PBXReferenceProxy;
 			fileType = archive.ar;
+			name = "Pods-JuicePlus-JuicePlusTests";
 			path = "libPods-JuicePlus-JuicePlusTests.a";
 			remoteRef = 3862FEA22668D3C90097D3A3 /* PBXContainerItemProxy */;
 			sourceTree = BUILT_PRODUCTS_DIR;
 		};
-		3862FEA52668D3C90097D3A3 /* libRCT-Folly.a */ = {
+		3862FEA52668D3C90097D3A3 /* RCT-Folly */ = {
 			isa = PBXReferenceProxy;
 			fileType = archive.ar;
+			name = "RCT-Folly";
 			path = "libRCT-Folly.a";
 			remoteRef = 3862FEA42668D3C90097D3A3 /* PBXContainerItemProxy */;
 			sourceTree = BUILT_PRODUCTS_DIR;
 		};
-		3862FEA72668D3C90097D3A3 /* libRCTTypeSafety.a */ = {
+		3862FEA72668D3C90097D3A3 /* RCTTypeSafety */ = {
 			isa = PBXReferenceProxy;
 			fileType = archive.ar;
+			name = RCTTypeSafety;
 			path = libRCTTypeSafety.a;
 			remoteRef = 3862FEA62668D3C90097D3A3 /* PBXContainerItemProxy */;
 			sourceTree = BUILT_PRODUCTS_DIR;
 		};
-		3862FEA92668D3C90097D3A3 /* libReact-Core.a */ = {
+		3862FEA92668D3C90097D3A3 /* React-Core */ = {
 			isa = PBXReferenceProxy;
 			fileType = archive.ar;
+			name = "React-Core";
 			path = "libReact-Core.a";
 			remoteRef = 3862FEA82668D3C90097D3A3 /* PBXContainerItemProxy */;
 			sourceTree = BUILT_PRODUCTS_DIR;
@@ -995,198 +1030,226 @@
 			remoteRef = 3862FEAA2668D3C90097D3A3 /* PBXContainerItemProxy */;
 			sourceTree = BUILT_PRODUCTS_DIR;
 		};
-		3862FEAD2668D3C90097D3A3 /* libReact-CoreModules.a */ = {
+		3862FEAD2668D3C90097D3A3 /* React-CoreModules */ = {
 			isa = PBXReferenceProxy;
 			fileType = archive.ar;
+			name = "React-CoreModules";
 			path = "libReact-CoreModules.a";
 			remoteRef = 3862FEAC2668D3C90097D3A3 /* PBXContainerItemProxy */;
 			sourceTree = BUILT_PRODUCTS_DIR;
 		};
-		3862FEAF2668D3C90097D3A3 /* libReact-cxxreact.a */ = {
+		3862FEAF2668D3C90097D3A3 /* React-cxxreact */ = {
 			isa = PBXReferenceProxy;
 			fileType = archive.ar;
+			name = "React-cxxreact";
 			path = "libReact-cxxreact.a";
 			remoteRef = 3862FEAE2668D3C90097D3A3 /* PBXContainerItemProxy */;
 			sourceTree = BUILT_PRODUCTS_DIR;
 		};
-		3862FEB12668D3C90097D3A3 /* libReact-jsi.a */ = {
+		3862FEB12668D3C90097D3A3 /* React-jsi */ = {
 			isa = PBXReferenceProxy;
 			fileType = archive.ar;
+			name = "React-jsi";
 			path = "libReact-jsi.a";
 			remoteRef = 3862FEB02668D3C90097D3A3 /* PBXContainerItemProxy */;
 			sourceTree = BUILT_PRODUCTS_DIR;
 		};
-		3862FEB32668D3C90097D3A3 /* libReact-jsiexecutor.a */ = {
+		3862FEB32668D3C90097D3A3 /* React-jsiexecutor */ = {
 			isa = PBXReferenceProxy;
 			fileType = archive.ar;
+			name = "React-jsiexecutor";
 			path = "libReact-jsiexecutor.a";
 			remoteRef = 3862FEB22668D3C90097D3A3 /* PBXContainerItemProxy */;
 			sourceTree = BUILT_PRODUCTS_DIR;
 		};
-		3862FEB52668D3C90097D3A3 /* libReact-jsinspector.a */ = {
+		3862FEB52668D3C90097D3A3 /* React-jsinspector */ = {
 			isa = PBXReferenceProxy;
 			fileType = archive.ar;
+			name = "React-jsinspector";
 			path = "libReact-jsinspector.a";
 			remoteRef = 3862FEB42668D3C90097D3A3 /* PBXContainerItemProxy */;
 			sourceTree = BUILT_PRODUCTS_DIR;
 		};
-		3862FEB72668D3C90097D3A3 /* libreact-native-camera.a */ = {
+		3862FEB72668D3C90097D3A3 /* react-native-camera */ = {
 			isa = PBXReferenceProxy;
 			fileType = archive.ar;
+			name = "react-native-camera";
 			path = "libreact-native-camera.a";
 			remoteRef = 3862FEB62668D3C90097D3A3 /* PBXContainerItemProxy */;
 			sourceTree = BUILT_PRODUCTS_DIR;
 		};
-		3862FEB92668D3C90097D3A3 /* libreact-native-cameraroll.a */ = {
+		3862FEB92668D3C90097D3A3 /* react-native-cameraroll */ = {
 			isa = PBXReferenceProxy;
 			fileType = archive.ar;
+			name = "react-native-cameraroll";
 			path = "libreact-native-cameraroll.a";
 			remoteRef = 3862FEB82668D3C90097D3A3 /* PBXContainerItemProxy */;
 			sourceTree = BUILT_PRODUCTS_DIR;
 		};
-		3862FEBB2668D3C90097D3A3 /* libreact-native-geolocation.a */ = {
+		3862FEBB2668D3C90097D3A3 /* react-native-geolocation */ = {
 			isa = PBXReferenceProxy;
 			fileType = archive.ar;
+			name = "react-native-geolocation";
 			path = "libreact-native-geolocation.a";
 			remoteRef = 3862FEBA2668D3C90097D3A3 /* PBXContainerItemProxy */;
 			sourceTree = BUILT_PRODUCTS_DIR;
 		};
-		3862FEBD2668D3C90097D3A3 /* libreact-native-maps.a */ = {
+		3862FEBD2668D3C90097D3A3 /* react-native-maps */ = {
 			isa = PBXReferenceProxy;
 			fileType = archive.ar;
+			name = "react-native-maps";
 			path = "libreact-native-maps.a";
 			remoteRef = 3862FEBC2668D3C90097D3A3 /* PBXContainerItemProxy */;
 			sourceTree = BUILT_PRODUCTS_DIR;
 		};
-		3862FEBF2668D3C90097D3A3 /* libreact-native-safe-area-context.a */ = {
+		3862FEBF2668D3C90097D3A3 /* react-native-safe-area-context */ = {
 			isa = PBXReferenceProxy;
 			fileType = archive.ar;
+			name = "react-native-safe-area-context";
 			path = "libreact-native-safe-area-context.a";
 			remoteRef = 3862FEBE2668D3C90097D3A3 /* PBXContainerItemProxy */;
 			sourceTree = BUILT_PRODUCTS_DIR;
 		};
-		3862FEC12668D3C90097D3A3 /* libreact-native-view-shot.a */ = {
+		3862FEC12668D3C90097D3A3 /* react-native-view-shot */ = {
 			isa = PBXReferenceProxy;
 			fileType = archive.ar;
+			name = "react-native-view-shot";
 			path = "libreact-native-view-shot.a";
 			remoteRef = 3862FEC02668D3C90097D3A3 /* PBXContainerItemProxy */;
 			sourceTree = BUILT_PRODUCTS_DIR;
 		};
-		3862FEC32668D3C90097D3A3 /* libReact-perflogger.a */ = {
+		3862FEC32668D3C90097D3A3 /* React-perflogger */ = {
 			isa = PBXReferenceProxy;
 			fileType = archive.ar;
+			name = "React-perflogger";
 			path = "libReact-perflogger.a";
 			remoteRef = 3862FEC22668D3C90097D3A3 /* PBXContainerItemProxy */;
 			sourceTree = BUILT_PRODUCTS_DIR;
 		};
-		3862FEC52668D3C90097D3A3 /* libReact-RCTAnimation.a */ = {
+		3862FEC52668D3C90097D3A3 /* React-RCTAnimation */ = {
 			isa = PBXReferenceProxy;
 			fileType = archive.ar;
+			name = "React-RCTAnimation";
 			path = "libReact-RCTAnimation.a";
 			remoteRef = 3862FEC42668D3C90097D3A3 /* PBXContainerItemProxy */;
 			sourceTree = BUILT_PRODUCTS_DIR;
 		};
-		3862FEC72668D3C90097D3A3 /* libReact-RCTBlob.a */ = {
+		3862FEC72668D3C90097D3A3 /* React-RCTBlob */ = {
 			isa = PBXReferenceProxy;
 			fileType = archive.ar;
+			name = "React-RCTBlob";
 			path = "libReact-RCTBlob.a";
 			remoteRef = 3862FEC62668D3C90097D3A3 /* PBXContainerItemProxy */;
 			sourceTree = BUILT_PRODUCTS_DIR;
 		};
-		3862FEC92668D3C90097D3A3 /* libReact-RCTImage.a */ = {
+		3862FEC92668D3C90097D3A3 /* React-RCTImage */ = {
 			isa = PBXReferenceProxy;
 			fileType = archive.ar;
+			name = "React-RCTImage";
 			path = "libReact-RCTImage.a";
 			remoteRef = 3862FEC82668D3C90097D3A3 /* PBXContainerItemProxy */;
 			sourceTree = BUILT_PRODUCTS_DIR;
 		};
-		3862FECB2668D3C90097D3A3 /* libReact-RCTLinking.a */ = {
+		3862FECB2668D3C90097D3A3 /* React-RCTLinking */ = {
 			isa = PBXReferenceProxy;
 			fileType = archive.ar;
+			name = "React-RCTLinking";
 			path = "libReact-RCTLinking.a";
 			remoteRef = 3862FECA2668D3C90097D3A3 /* PBXContainerItemProxy */;
 			sourceTree = BUILT_PRODUCTS_DIR;
 		};
-		3862FECD2668D3C90097D3A3 /* libReact-RCTNetwork.a */ = {
+		3862FECD2668D3C90097D3A3 /* React-RCTNetwork */ = {
 			isa = PBXReferenceProxy;
 			fileType = archive.ar;
+			name = "React-RCTNetwork";
 			path = "libReact-RCTNetwork.a";
 			remoteRef = 3862FECC2668D3C90097D3A3 /* PBXContainerItemProxy */;
 			sourceTree = BUILT_PRODUCTS_DIR;
 		};
-		3862FECF2668D3C90097D3A3 /* libReact-RCTSettings.a */ = {
+		3862FECF2668D3C90097D3A3 /* React-RCTSettings */ = {
 			isa = PBXReferenceProxy;
 			fileType = archive.ar;
+			name = "React-RCTSettings";
 			path = "libReact-RCTSettings.a";
 			remoteRef = 3862FECE2668D3C90097D3A3 /* PBXContainerItemProxy */;
 			sourceTree = BUILT_PRODUCTS_DIR;
 		};
-		3862FED12668D3C90097D3A3 /* libReact-RCTText.a */ = {
+		3862FED12668D3C90097D3A3 /* React-RCTText */ = {
 			isa = PBXReferenceProxy;
 			fileType = archive.ar;
+			name = "React-RCTText";
 			path = "libReact-RCTText.a";
 			remoteRef = 3862FED02668D3C90097D3A3 /* PBXContainerItemProxy */;
 			sourceTree = BUILT_PRODUCTS_DIR;
 		};
-		3862FED32668D3C90097D3A3 /* libReact-RCTVibration.a */ = {
+		3862FED32668D3C90097D3A3 /* React-RCTVibration */ = {
 			isa = PBXReferenceProxy;
 			fileType = archive.ar;
+			name = "React-RCTVibration";
 			path = "libReact-RCTVibration.a";
 			remoteRef = 3862FED22668D3C90097D3A3 /* PBXContainerItemProxy */;
 			sourceTree = BUILT_PRODUCTS_DIR;
 		};
-		3862FED52668D3C90097D3A3 /* libReactCommon.a */ = {
+		3862FED52668D3C90097D3A3 /* ReactCommon */ = {
 			isa = PBXReferenceProxy;
 			fileType = archive.ar;
+			name = ReactCommon;
 			path = libReactCommon.a;
 			remoteRef = 3862FED42668D3C90097D3A3 /* PBXContainerItemProxy */;
 			sourceTree = BUILT_PRODUCTS_DIR;
 		};
-		3862FED72668D3C90097D3A3 /* libReactNativeART.a */ = {
+		3862FED72668D3C90097D3A3 /* ReactNativeART */ = {
 			isa = PBXReferenceProxy;
 			fileType = archive.ar;
+			name = ReactNativeART;
 			path = libReactNativeART.a;
 			remoteRef = 3862FED62668D3C90097D3A3 /* PBXContainerItemProxy */;
 			sourceTree = BUILT_PRODUCTS_DIR;
 		};
-		3862FED92668D3C90097D3A3 /* libRNCAsyncStorage.a */ = {
+		3862FED92668D3C90097D3A3 /* RNCAsyncStorage */ = {
 			isa = PBXReferenceProxy;
 			fileType = archive.ar;
+			name = RNCAsyncStorage;
 			path = libRNCAsyncStorage.a;
 			remoteRef = 3862FED82668D3C90097D3A3 /* PBXContainerItemProxy */;
 			sourceTree = BUILT_PRODUCTS_DIR;
 		};
-		3862FEDB2668D3C90097D3A3 /* libRNCCheckbox.a */ = {
+		3862FEDB2668D3C90097D3A3 /* RNCCheckbox */ = {
 			isa = PBXReferenceProxy;
 			fileType = archive.ar;
+			name = RNCCheckbox;
 			path = libRNCCheckbox.a;
 			remoteRef = 3862FEDA2668D3C90097D3A3 /* PBXContainerItemProxy */;
 			sourceTree = BUILT_PRODUCTS_DIR;
 		};
-		3862FEDD2668D3C90097D3A3 /* libRNCMaskedView.a */ = {
+		3862FEDD2668D3C90097D3A3 /* RNCMaskedView */ = {
 			isa = PBXReferenceProxy;
 			fileType = archive.ar;
+			name = RNCMaskedView;
 			path = libRNCMaskedView.a;
 			remoteRef = 3862FEDC2668D3C90097D3A3 /* PBXContainerItemProxy */;
 			sourceTree = BUILT_PRODUCTS_DIR;
 		};
-		3862FEE12668D3C90097D3A3 /* libRNCPushNotificationIOS.a */ = {
+		3862FEE12668D3C90097D3A3 /* RNCPushNotificationIOS */ = {
 			isa = PBXReferenceProxy;
 			fileType = archive.ar;
+			name = RNCPushNotificationIOS;
 			path = libRNCPushNotificationIOS.a;
 			remoteRef = 3862FEE02668D3C90097D3A3 /* PBXContainerItemProxy */;
 			sourceTree = BUILT_PRODUCTS_DIR;
 		};
-		3862FEE32668D3C90097D3A3 /* libRNGestureHandler.a */ = {
+		3862FEE32668D3C90097D3A3 /* RNGestureHandler */ = {
 			isa = PBXReferenceProxy;
 			fileType = archive.ar;
+			name = RNGestureHandler;
 			path = libRNGestureHandler.a;
 			remoteRef = 3862FEE22668D3C90097D3A3 /* PBXContainerItemProxy */;
 			sourceTree = BUILT_PRODUCTS_DIR;
 		};
-		3862FEE52668D3C90097D3A3 /* libRNImageCropPicker.a */ = {
+		3862FEE52668D3C90097D3A3 /* RNImageCropPicker */ = {
 			isa = PBXReferenceProxy;
 			fileType = archive.ar;
+			name = RNImageCropPicker;
 			path = libRNImageCropPicker.a;
 			remoteRef = 3862FEE42668D3C90097D3A3 /* PBXContainerItemProxy */;
 			sourceTree = BUILT_PRODUCTS_DIR;
@@ -1198,44 +1261,50 @@
 			remoteRef = 3862FEE62668D3C90097D3A3 /* PBXContainerItemProxy */;
 			sourceTree = BUILT_PRODUCTS_DIR;
 		};
-		3862FEE92668D3C90097D3A3 /* libRNPermissions.a */ = {
+		3862FEE92668D3C90097D3A3 /* RNPermissions */ = {
 			isa = PBXReferenceProxy;
 			fileType = archive.ar;
+			name = RNPermissions;
 			path = libRNPermissions.a;
 			remoteRef = 3862FEE82668D3C90097D3A3 /* PBXContainerItemProxy */;
 			sourceTree = BUILT_PRODUCTS_DIR;
 		};
-		3862FEEB2668D3C90097D3A3 /* libRNReanimated.a */ = {
+		3862FEEB2668D3C90097D3A3 /* RNReanimated */ = {
 			isa = PBXReferenceProxy;
 			fileType = archive.ar;
+			name = RNReanimated;
 			path = libRNReanimated.a;
 			remoteRef = 3862FEEA2668D3C90097D3A3 /* PBXContainerItemProxy */;
 			sourceTree = BUILT_PRODUCTS_DIR;
 		};
-		3862FEED2668D3C90097D3A3 /* libRNScreens.a */ = {
+		3862FEED2668D3C90097D3A3 /* RNScreens */ = {
 			isa = PBXReferenceProxy;
 			fileType = archive.ar;
+			name = RNScreens;
 			path = libRNScreens.a;
 			remoteRef = 3862FEEC2668D3C90097D3A3 /* PBXContainerItemProxy */;
 			sourceTree = BUILT_PRODUCTS_DIR;
 		};
-		3862FEEF2668D3C90097D3A3 /* libRNShare.a */ = {
+		3862FEEF2668D3C90097D3A3 /* RNShare */ = {
 			isa = PBXReferenceProxy;
 			fileType = archive.ar;
+			name = RNShare;
 			path = libRNShare.a;
 			remoteRef = 3862FEEE2668D3C90097D3A3 /* PBXContainerItemProxy */;
 			sourceTree = BUILT_PRODUCTS_DIR;
 		};
-		3862FEF12668D3C90097D3A3 /* libRNSVG.a */ = {
+		3862FEF12668D3C90097D3A3 /* RNSVG */ = {
 			isa = PBXReferenceProxy;
 			fileType = archive.ar;
+			name = RNSVG;
 			path = libRNSVG.a;
 			remoteRef = 3862FEF02668D3C90097D3A3 /* PBXContainerItemProxy */;
 			sourceTree = BUILT_PRODUCTS_DIR;
 		};
-		3862FEF52668D3C90097D3A3 /* libTOCropViewController.a */ = {
+		3862FEF52668D3C90097D3A3 /* TOCropViewController */ = {
 			isa = PBXReferenceProxy;
 			fileType = archive.ar;
+			name = TOCropViewController;
 			path = libTOCropViewController.a;
 			remoteRef = 3862FEF42668D3C90097D3A3 /* PBXContainerItemProxy */;
 			sourceTree = BUILT_PRODUCTS_DIR;
@@ -1247,34 +1316,46 @@
 			remoteRef = 3862FEF62668D3C90097D3A3 /* PBXContainerItemProxy */;
 			sourceTree = BUILT_PRODUCTS_DIR;
 		};
-		3862FEF92668D3C90097D3A3 /* libYoga.a */ = {
+		3862FEF92668D3C90097D3A3 /* Yoga */ = {
 			isa = PBXReferenceProxy;
 			fileType = archive.ar;
+			name = Yoga;
 			path = libYoga.a;
 			remoteRef = 3862FEF82668D3C90097D3A3 /* PBXContainerItemProxy */;
 			sourceTree = BUILT_PRODUCTS_DIR;
 		};
-		38C6DA652668E46D00D889BC /* libGoogle-Maps-iOS-Utils.a */ = {
+		38C6DA652668E46D00D889BC /* Google-Maps-iOS-Utils */ = {
 			isa = PBXReferenceProxy;
 			fileType = archive.ar;
+			name = "Google-Maps-iOS-Utils";
 			path = "libGoogle-Maps-iOS-Utils.a";
 			remoteRef = 38C6DA642668E46D00D889BC /* PBXContainerItemProxy */;
 			sourceTree = BUILT_PRODUCTS_DIR;
 		};
-		38C6DA672668E46D00D889BC /* libreact-native-google-maps.a */ = {
+		38C6DA672668E46D00D889BC /* react-native-google-maps */ = {
 			isa = PBXReferenceProxy;
 			fileType = archive.ar;
+			name = "react-native-google-maps";
 			path = "libreact-native-google-maps.a";
 			remoteRef = 38C6DA662668E46D00D889BC /* PBXContainerItemProxy */;
 			sourceTree = BUILT_PRODUCTS_DIR;
 		};
-		38EDDA1526830E380093F908 /* libreact-native-webview.a */ = {
+		38EDDA1526830E380093F908 /* react-native-webview */ = {
 			isa = PBXReferenceProxy;
 			fileType = archive.ar;
+			name = "react-native-webview";
 			path = "libreact-native-webview.a";
 			remoteRef = 38EDDA1426830E380093F908 /* PBXContainerItemProxy */;
 			sourceTree = BUILT_PRODUCTS_DIR;
 		};
+		732F2CF7296FA69A00A90ECF /* FirebaseCoreInternal */ = {
+			isa = PBXReferenceProxy;
+			fileType = archive.ar;
+			name = FirebaseCoreInternal;
+			path = libFirebaseCoreInternal.a;
+			remoteRef = 732F2CF6296FA69A00A90ECF /* PBXContainerItemProxy */;
+			sourceTree = BUILT_PRODUCTS_DIR;
+		};
 /* End PBXReferenceProxy section */
 
 /* Begin PBXResourcesBuildPhase section */
@@ -1502,16 +1583,16 @@
 				ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
 				CLANG_ENABLE_MODULES = YES;
 				CODE_SIGN_ENTITLEMENTS = JuicePlus/JuicePlus.entitlements;
-				CURRENT_PROJECT_VERSION = 110;
+				CURRENT_PROJECT_VERSION = 561;
 				DEVELOPMENT_TEAM = 5764Z69TSK;
 				ENABLE_BITCODE = NO;
 				INFOPLIST_FILE = JuicePlus/Info.plist;
-				IPHONEOS_DEPLOYMENT_TARGET = 10.0;
+				IPHONEOS_DEPLOYMENT_TARGET = 12.0;
 				LD_RUNPATH_SEARCH_PATHS = (
 					"$(inherited)",
 					"@executable_path/Frameworks",
 				);
-				MARKETING_VERSION = 1.1.1;
+				MARKETING_VERSION = 2.2.1;
 				OTHER_LDFLAGS = (
 					"$(inherited)",
 					"-ObjC",
@@ -1533,15 +1614,15 @@
 				ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
 				CLANG_ENABLE_MODULES = YES;
 				CODE_SIGN_ENTITLEMENTS = JuicePlus/JuicePlus.entitlements;
-				CURRENT_PROJECT_VERSION = 110;
+				CURRENT_PROJECT_VERSION = 561;
 				DEVELOPMENT_TEAM = 5764Z69TSK;
 				INFOPLIST_FILE = JuicePlus/Info.plist;
-				IPHONEOS_DEPLOYMENT_TARGET = 10.0;
+				IPHONEOS_DEPLOYMENT_TARGET = 12.0;
 				LD_RUNPATH_SEARCH_PATHS = (
 					"$(inherited)",
 					"@executable_path/Frameworks",
 				);
-				MARKETING_VERSION = 1.1.1;
+				MARKETING_VERSION = 2.2.1;
 				OTHER_LDFLAGS = (
 					"$(inherited)",
 					"-ObjC",
@@ -1604,7 +1685,7 @@
 				GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
 				GCC_WARN_UNUSED_FUNCTION = YES;
 				GCC_WARN_UNUSED_VARIABLE = YES;
-				IPHONEOS_DEPLOYMENT_TARGET = 10.0;
+				IPHONEOS_DEPLOYMENT_TARGET = 12.0;
 				LD_RUNPATH_SEARCH_PATHS = (
 					/usr/lib/swift,
 					"$(inherited)",
@@ -1662,7 +1743,7 @@
 				GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
 				GCC_WARN_UNUSED_FUNCTION = YES;
 				GCC_WARN_UNUSED_VARIABLE = YES;
-				IPHONEOS_DEPLOYMENT_TARGET = 10.0;
+				IPHONEOS_DEPLOYMENT_TARGET = 12.0;
 				LD_RUNPATH_SEARCH_PATHS = (
 					/usr/lib/swift,
 					"$(inherited)",

+ 8 - 4
Strides-APP/ios/Podfile

@@ -1,7 +1,7 @@
 require_relative '../node_modules/react-native/scripts/react_native_pods'
 require_relative '../node_modules/@react-native-community/cli-platform-ios/native_modules'
 
-platform :ios, '10.0'
+platform :ios, '12.0'
 
 target 'JuicePlus' do
   config = use_native_modules!
@@ -27,8 +27,12 @@ target 'JuicePlus' do
   #pod 'Permission-Siri', :path => "#{permissions_path}/Siri"
   #pod 'Permission-SpeechRecognition', :path => "#{permissions_path}/SpeechRecognition"
   #pod 'Permission-StoreKit', :path => "#{permissions_path}/StoreKit"
-  pod 'Firebase/Analytics'
-  pod 'Firebase/Messaging'
+  #谷歌通知启用
+  pod 'Firebase/Core', :modular_headers => true
+  pod 'Firebase/Analytics', :modular_headers => true
+  pod 'Firebase/Messaging', :modular_headers => true
+  pod 'FirebaseCoreInternal', :modular_headers => true
+  pod 'GoogleUtilities', :modular_headers => true
 
   use_react_native!(
     :path => config[:reactNativePath],
@@ -75,7 +79,7 @@ target 'JuicePlus' do
     "atomic_wait_until(&state, previous | data, deadline)", "folly::atomic_wait_until(&state, previous | data, deadline)")
     installer.pods_project.targets.each do |target|
       target.build_configurations.each do |config|
-        config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '10.0' #将所有插件更新为iOS10可用
+        config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '12.0' #将所有插件更新为iOS12可用
       end
     end
   end