diff --git a/.eslintrc.json b/.eslintrc.json index 69ec137db..5b05fdad6 100644 --- a/.eslintrc.json +++ b/.eslintrc.json @@ -1,4 +1,5 @@ { + "root": true, "extends": [ "eslint:recommended", "plugin:react/recommended" diff --git a/.gitignore b/.gitignore index a3d413ee1..efe4af081 100644 --- a/.gitignore +++ b/.gitignore @@ -21,6 +21,8 @@ DerivedData *.ipa *.xcuserstate project.xcworkspace +Podfile.lock +ios/Pods/* # Android/IntelliJ # diff --git a/android/app/bin/build.gradle b/android/app/bin/build.gradle deleted file mode 100644 index 2bab60233..000000000 --- a/android/app/bin/build.gradle +++ /dev/null @@ -1,157 +0,0 @@ -apply plugin: "com.android.application" - -import com.android.build.OutputFile - -/** - * The react.gradle file registers a task for each build variant (e.g. bundleDebugJsAndAssets - * and bundleReleaseJsAndAssets). - * These basically call `react-native bundle` with the correct arguments during the Android build - * cycle. By default, bundleDebugJsAndAssets is skipped, as in debug/dev mode we prefer to load the - * bundle directly from the development server. Below you can see all the possible configurations - * and their defaults. If you decide to add a configuration block, make sure to add it before the - * `apply from: "../../node_modules/react-native/react.gradle"` line. - * - * project.ext.react = [ - * // the name of the generated asset file containing your JS bundle - * bundleAssetName: "index.android.bundle", - * - * // the entry file for bundle generation - * entryFile: "index.android.js", - * - * // whether to bundle JS and assets in debug mode - * bundleInDebug: false, - * - * // whether to bundle JS and assets in release mode - * bundleInRelease: true, - * - * // whether to bundle JS and assets in another build variant (if configured). - * // See http://tools.android.com/tech-docs/new-build-system/user-guide#TOC-Build-Variants - * // The configuration property can be in the following formats - * // 'bundleIn${productFlavor}${buildType}' - * // 'bundleIn${buildType}' - * // bundleInFreeDebug: true, - * // bundleInPaidRelease: true, - * // bundleInBeta: true, - * - * // whether to disable dev mode in custom build variants (by default only disabled in release) - * // for example: to disable dev mode in the staging build type (if configured) - * devDisabledInStaging: true, - * // The configuration property can be in the following formats - * // 'devDisabledIn${productFlavor}${buildType}' - * // 'devDisabledIn${buildType}' - * - * // the root of your project, i.e. where "package.json" lives - * root: "../../", - * - * // where to put the JS bundle asset in debug mode - * jsBundleDirDebug: "$buildDir/intermediates/assets/debug", - * - * // where to put the JS bundle asset in release mode - * jsBundleDirRelease: "$buildDir/intermediates/assets/release", - * - * // where to put drawable resources / React Native assets, e.g. the ones you use via - * // require('./image.png')), in debug mode - * resourcesDirDebug: "$buildDir/intermediates/res/merged/debug", - * - * // where to put drawable resources / React Native assets, e.g. the ones you use via - * // require('./image.png')), in release mode - * resourcesDirRelease: "$buildDir/intermediates/res/merged/release", - * - * // by default the gradle tasks are skipped if none of the JS files or assets change; this means - * // that we don't look at files in android/ or ios/ to determine whether the tasks are up to - * // date; if you have any other folders that you want to ignore for performance reasons (gradle - * // indexes the entire tree), add them here. Alternatively, if you have JS files in android/ - * // for example, you might want to remove it from here. - * inputExcludes: ["android/**", "ios/**"], - * - * // override which node gets called and with what additional arguments - * nodeExecutableAndArgs: ["node"], - * - * // supply additional arguments to the packager - * extraPackagerArgs: [] - * ] - */ - -project.ext.react = [ - entryFile: "index.native.js" -] - -apply from: "../../node_modules/react-native/react.gradle" - -/** - * Set this to true to create two separate APKs instead of one: - * - An APK that only works on ARM devices - * - An APK that only works on x86 devices - * The advantage is the size of the APK is reduced by about 4MB. - * Upload all the APKs to the Play Store and people will download - * the correct one based on the CPU architecture of their device. - */ -def enableSeparateBuildPerCPUArchitecture = false - -/** - * Run Proguard to shrink the Java bytecode in release builds. - */ -def enableProguardInReleaseBuilds = false - -android { - compileSdkVersion rootProject.ext.compileSdkVersion - buildToolsVersion rootProject.ext.buildToolsVersion - - defaultConfig { - applicationId "org.pftp" - minSdkVersion rootProject.ext.minSdkVersion - targetSdkVersion rootProject.ext.targetSdkVersion - versionCode 5 - versionName "1.0" - ndk { - abiFilters "armeabi-v7a", "x86" - } - } - splits { - abi { - reset() - enable enableSeparateBuildPerCPUArchitecture - universalApk false // If true, also generate a universal APK - include "armeabi-v7a", "x86" - } - } - buildTypes { - release { - minifyEnabled enableProguardInReleaseBuilds - proguardFiles getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro" - } - } - // applicationVariants are e.g. debug, release - applicationVariants.all { variant -> - variant.outputs.each { output -> - // For each separate APK per architecture, set a unique version code as described here: - // http://tools.android.com/tech-docs/new-build-system/user-guide/apk-splits - def versionCodes = ["armeabi-v7a":1, "x86":2] - def abi = output.getFilter(OutputFile.ABI) - if (abi != null) { // null for the universal-debug, universal-release variants - output.versionCodeOverride = - versionCodes.get(abi) * 1048576 + defaultConfig.versionCode - } - } - } -} - -dependencies { - compile project(':react-native-youtube') - //compile project(':tipsi-stripe') - compile project(':react-native-device-info') - compile project(':react-native-image-picker') - compile project(':react-native-i18n') - compile project(':react-native-svg') - compile fileTree(dir: "libs", include: ["*.jar"]) - compile "com.android.support:appcompat-v7:${rootProject.ext.supportLibVersion}" - compile "com.facebook.react:react-native:+" // From node_modules - compile 'com.facebook.fresco:animated-gif:1.10.0' -} - -// Run this once to be able to run the application with BUCK -// puts all compile dependencies into folder libs for BUCK to use -task copyDownloadableDepsToLibs(type: Copy) { - from configurations.compile - into 'libs' -} diff --git a/android/app/build.gradle b/android/app/build.gradle index 396fe6098..54162b9dc 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -18,6 +18,9 @@ import com.android.build.OutputFile * // the entry file for bundle generation * entryFile: "index.android.js", * + * // https://facebook.github.io/react-native/docs/performance#enable-the-ram-format + * bundleCommand: "ram-bundle", + * * // whether to bundle JS and assets in debug mode * bundleInDebug: false, * @@ -73,11 +76,15 @@ import com.android.build.OutputFile */ project.ext.react = [ - entryFile: "index.native.js" + entryFile: "index.native.js", + enableHermes: true, + root: "../../", ] +def jscFlavor = 'org.webkit:android-jsc:+' +def useIntlJsc = false +def enableHermes = project.ext.react.get("enableHermes", true); apply from: "../../node_modules/react-native/react.gradle" - project.ext.vectoricons = [ iconFontNames: ['FontAwesome.ttf', 'FontAwesome5_Brands.ttf', 'FontAwesome5_Regular.ttf', 'FontAwesome5_Solid.ttf', 'MaterialIcons.ttf'] // Name of the font files you want to copy @@ -145,7 +152,7 @@ android { applicationVariants.all { variant -> variant.outputs.each { output -> // For each separate APK per architecture, set a unique version code as described here: - // http://tools.android.com/tech-docs/new-build-system/user-guide/apk-splits + // https://developer.android.com/studio/build/configure-apk-splits.html def versionCodes = ["armeabi-v7a":5, "x86":6, "arm64-v8a": 7, "x86_64": 8] def abi = output.getFilter(OutputFile.ABI) if (abi != null) { // null for the universal-debug, universal-release variants @@ -166,27 +173,23 @@ android { } dependencies { - implementation project(':react-native-vector-icons') - //implementation project(':react-native-paypal-wrapper') - implementation project(':@react-native-community_async-storage') - implementation project(':react-native-fs') - implementation project(':react-native-pdf') - implementation project(':rn-fetch-blob') - implementation project(':react-native-vector-icons') - implementation project(':react-native-image-crop-picker') - implementation project(':react-native-document-picker') - implementation project(':react-native-linear-gradient') - implementation project(':bugsnag-react-native') - implementation project(':react-native-youtube') - //compile project(':tipsi-stripe') - implementation project(':react-native-device-info') - implementation project(':react-native-image-picker') - implementation project(':react-native-i18n') - implementation project(':react-native-svg') implementation fileTree(dir: "libs", include: ["*.jar"]) - implementation "androidx.appcompat:appcompat:1.0.0" implementation "com.facebook.react:react-native:+" // From node_modules implementation 'com.facebook.fresco:animated-gif:1.10.0' + implementation 'androidx.appcompat:appcompat:1.1.0' + implementation 'androidx.swiperefreshlayout:swiperefreshlayout:1.1.0-alpha03' + if (useIntlJsc) { + implementation 'org.webkit:android-jsc-intl:+' + } else { + implementation 'org.webkit:android-jsc:+' + } + if (enableHermes) { + def hermesPath = "../../node_modules/hermes-engine/android/"; + debugImplementation files(hermesPath + "hermes-debug.aar") + releaseImplementation files(hermesPath + "hermes-release.aar") + } else { + implementation jscFlavor + } } // Run this once to be able to run the application with BUCK @@ -195,3 +198,5 @@ task copyDownloadableDepsToLibs(type: Copy) { from configurations.compile into 'libs' } + +apply from: file("../../node_modules/@react-native-community/cli-platform-android/native_modules.gradle"); applyNativeModulesAppBuildGradle(project) diff --git a/android/app/src/main/java/org/pftp/MainActivity.java b/android/app/src/main/java/org/pftp/MainActivity.java index bf4d0262e..9a35150c9 100644 --- a/android/app/src/main/java/org/pftp/MainActivity.java +++ b/android/app/src/main/java/org/pftp/MainActivity.java @@ -1,6 +1,9 @@ package org.pftp; import com.facebook.react.ReactActivity; +import com.facebook.react.ReactActivityDelegate; +import com.facebook.react.ReactRootView; +import com.swmansion.gesturehandler.react.RNGestureHandlerEnabledRootView; public class MainActivity extends ReactActivity { @@ -12,4 +15,14 @@ public class MainActivity extends ReactActivity { protected String getMainComponentName() { return "TreecounterApp"; } + + @Override + protected ReactActivityDelegate createReactActivityDelegate() { + return new ReactActivityDelegate(this, getMainComponentName()) { + @Override + protected ReactRootView createRootView() { + return new RNGestureHandlerEnabledRootView(MainActivity.this); + } + }; + } } diff --git a/android/app/src/main/java/org/pftp/MainApplication.java b/android/app/src/main/java/org/pftp/MainApplication.java index 63c519e47..0abcd8635 100644 --- a/android/app/src/main/java/org/pftp/MainApplication.java +++ b/android/app/src/main/java/org/pftp/MainApplication.java @@ -1,81 +1,46 @@ package org.pftp; import android.app.Application; +import com.facebook.react.PackageList; import com.facebook.react.ReactApplication; -import com.oblador.vectoricons.VectorIconsPackage; -import com.reactnativecommunity.asyncstorage.AsyncStoragePackage; -//import com.taessina.paypal.RNPaypalWrapperPackage; -import com.rnfs.RNFSPackage; -import org.wonday.pdf.RCTPdfView; -import com.RNFetchBlob.RNFetchBlobPackage; -import com.oblador.vectoricons.VectorIconsPackage; -import com.reactnative.ivpusic.imagepicker.PickerPackage; -import io.github.elyx0.reactnativedocumentpicker.DocumentPickerPackage; -import com.BV.LinearGradient.LinearGradientPackage; -import com.bugsnag.BugsnagReactNative; -import com.inprogress.reactnativeyoutube.ReactNativeYouTube; -//import com.gettipsi.stripe.StripeReactPackage; -import com.learnium.RNDeviceInfo.RNDeviceInfo; -import com.imagepicker.ImagePickerPackage; -import com.AlexanderZaytsev.RNI18n.RNI18nPackage; -import com.horcrux.svg.SvgPackage; - import com.facebook.react.ReactNativeHost; import com.facebook.react.ReactPackage; -import com.facebook.react.shell.MainReactPackage; import com.facebook.soloader.SoLoader; -// import com.reactlibrary.RNTooltipsPackage; -import java.util.Arrays; import java.util.List; public class MainApplication extends Application implements ReactApplication { - private final ReactNativeHost mReactNativeHost = new ReactNativeHost(this) { - @Override - public boolean getUseDeveloperSupport() { - return BuildConfig.DEBUG; - } + private final ReactNativeHost mReactNativeHost = new ReactNativeHost(this) { + @Override + public boolean getUseDeveloperSupport() { + return BuildConfig.DEBUG; + } + + @Override + protected List getPackages() { + @SuppressWarnings("UnnecessaryLocalVariable") + List packages = new PackageList(this).getPackages(); + // Packages that cannot be autolinked yet can be added manually here, for example: + // packages.add(new MyReactNativePackage()); + return packages; + } + + @Override + protected String getJSMainModuleName() { + return "index"; + } + }; @Override - protected List getPackages() { - return Arrays.asList( - new MainReactPackage(), - new AsyncStoragePackage(), - //new RNPaypalWrapperPackage(), - new RNFSPackage(), - new RCTPdfView(), - new RNFetchBlobPackage(), - new VectorIconsPackage(), - new PickerPackage(), - new DocumentPickerPackage(), - new LinearGradientPackage(), - BugsnagReactNative.getPackage(), - new ReactNativeYouTube(), - // new StripeReactPackage(), - new RNDeviceInfo(), - new ImagePickerPackage(), - new RNI18nPackage(), - new SvgPackage() - // new RNTooltipsPackage() - ); + public ReactNativeHost getReactNativeHost() { + return mReactNativeHost; } @Override - protected String getJSMainModuleName() { - return "index"; + public void onCreate() { + super.onCreate(); + SoLoader.init(this, /* native exopackage */ false); } - }; - - @Override - public ReactNativeHost getReactNativeHost() { - return mReactNativeHost; - } - - @Override - public void onCreate() { - super.onCreate(); - SoLoader.init(this, /* native exopackage */ false); - } } diff --git a/android/build.gradle b/android/build.gradle index 7c5c14a28..8a55b64e7 100644 --- a/android/build.gradle +++ b/android/build.gradle @@ -3,7 +3,7 @@ buildscript { ext { buildToolsVersion = "28.0.3" - minSdkVersion = 16 + minSdkVersion = 21 compileSdkVersion = 28 targetSdkVersion = 28 supportLibVersion = "28.0.0" @@ -22,15 +22,18 @@ buildscript { allprojects { repositories { - // Add jitpack repository (added by tipsi-stripe) - maven { url "https://jitpack.io" } mavenLocal() - google() - jcenter() maven { // All of React Native (JS, Obj-C sources, Android binaries) is installed from npm - url "$rootDir/../node_modules/react-native/android" + url("$rootDir/../node_modules/react-native/android") + } + maven { + // Android JSC is installed from npm + url("$rootDir/../node_modules/jsc-android/dist") } + google() + jcenter() + maven { url 'https://jitpack.io' } } } diff --git a/android/gradle/wrapper/gradle-wrapper.properties b/android/gradle/wrapper/gradle-wrapper.properties index d757f3d33..a0a439e01 100644 --- a/android/gradle/wrapper/gradle-wrapper.properties +++ b/android/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-5.4.1-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-5.5-all.zip diff --git a/android/settings.gradle b/android/settings.gradle index 470035a89..9c708de58 100644 --- a/android/settings.gradle +++ b/android/settings.gradle @@ -1,40 +1,3 @@ rootProject.name = 'TreecounterApp' -include ':react-native-vector-icons' -project(':react-native-vector-icons').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-vector-icons/android') +apply from: file("../node_modules/@react-native-community/cli-platform-android/native_modules.gradle"); applyNativeModulesSettingsGradle(settings) include ':app' -include ':@react-native-community_async-storage' -project(':@react-native-community_async-storage').projectDir = new File(rootProject.projectDir, '../node_modules/@react-native-community/async-storage/android') -include ':react-native-youtube' -project(':react-native-youtube').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-youtube/android') -//include ':react-native-paypal-wrapper' -//project(':react-native-paypal-wrapper').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-paypal-wrapper/android') -include ':react-native-fs' -project(':react-native-fs').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-fs/android') -include ':react-native-pdf' -project(':react-native-pdf').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-pdf/android') -include ':rn-fetch-blob' -project(':rn-fetch-blob').projectDir = new File(rootProject.projectDir, '../node_modules/rn-fetch-blob/android') -include ':react-native-vector-icons' -project(':react-native-vector-icons').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-vector-icons/android') -include ':react-native-paypal-wrapper' -project(':react-native-paypal-wrapper').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-paypal-wrapper/android') -include ':react-native-image-crop-picker' -project(':react-native-image-crop-picker').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-image-crop-picker/android') -include ':react-native-document-picker' -project(':react-native-document-picker').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-document-picker/android') -include ':react-native-linear-gradient' -project(':react-native-linear-gradient').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-linear-gradient/android') -include ':bugsnag-react-native' -project(':bugsnag-react-native').projectDir = new File(rootProject.projectDir, '../node_modules/bugsnag-react-native/android') -// include ':tipsi-stripe' -// project(':tipsi-stripe').projectDir = new File(rootProject.projectDir, '../node_modules/tipsi-stripe/android') -include ':react-native-device-info' -project(':react-native-device-info').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-device-info/android') -include ':react-native-image-picker' -project(':react-native-image-picker').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-image-picker/android') -include ':react-native-i18n' -project(':react-native-i18n').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-i18n/android') -include ':react-native-svg' -project(':react-native-svg').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-svg/android') -// include ':react-native-tooltips' -// project(':react-native-tooltips').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-tooltips/android') diff --git a/app/assets/images/successAnimated.gif b/app/assets/images/successAnimated.gif deleted file mode 100644 index e63ac5495..000000000 Binary files a/app/assets/images/successAnimated.gif and /dev/null differ diff --git a/app/assets/images/welcome-screen.png b/app/assets/images/welcome-screen.png deleted file mode 100644 index 5d394ca64..000000000 Binary files a/app/assets/images/welcome-screen.png and /dev/null differ diff --git a/app/assets/index.js b/app/assets/index.js index b0f785660..e0347ffbf 100644 --- a/app/assets/index.js +++ b/app/assets/index.js @@ -117,7 +117,6 @@ import selector_menu from './images/icons/selector_menu.png'; import radio_button from './images/icons/radio_button.png'; import radio_button_selected from './images/icons/radio_button_selected.png'; import filter from './images/icons/filter.png'; -import welcomeScreen from './images/welcome-screen.png'; import flagTarget from './images/flag_target.png'; import compCalendar from './images/calendar_comp.png'; import upwardArrow from './images/right-arrow.png'; @@ -133,7 +132,6 @@ import mapExpand from './images/map_expand.png'; import smalltree from './images/smalltree.png'; import calendarwhite from './images/calendarwhite.png'; import forward from './images/forward.png'; -import successAnimated from './images/successAnimated.gif'; import trees from './images/trees.png'; import greencalendar from './images/greencalendar.png'; import location_grey from './images/icons/location_grey.png'; @@ -282,7 +280,6 @@ export { shareIcon, facebook, twitter, - welcomeScreen, flagTarget, compCalendar, upwardArrow, @@ -293,7 +290,6 @@ export { smalltree, calendarwhite, forward, - successAnimated, trees, greencalendar, location_grey, diff --git a/app/components/App/TreeCounter.native.js b/app/components/App/TreeCounter.native.js index d0ecf8655..fc2aa1740 100644 --- a/app/components/App/TreeCounter.native.js +++ b/app/components/App/TreeCounter.native.js @@ -24,7 +24,7 @@ class App extends Component { const backgroundColor = 'white'; return ( diff --git a/app/components/App/index.native.js b/app/components/App/index.native.js index fbc9f6114..b45c51592 100644 --- a/app/components/App/index.native.js +++ b/app/components/App/index.native.js @@ -1,5 +1,6 @@ import React, { Component } from 'react'; import { Provider } from 'react-redux'; +import 'react-native-gesture-handler'; import TreeCounter from './TreeCounter'; import configureStore from '../../stores/TreecounterStore'; diff --git a/app/components/Authentication/Login/index.native.js b/app/components/Authentication/Login/index.native.js index cb7f9e681..a0e0c7bba 100644 --- a/app/components/Authentication/Login/index.native.js +++ b/app/components/Authentication/Login/index.native.js @@ -4,7 +4,6 @@ import PropTypes from 'prop-types'; import { Text, View, Image, Keyboard } from 'react-native'; import { KeyboardAwareScrollView } from 'react-native-keyboard-aware-scroll-view'; import scrollStyle from '../../../styles/common/scrollStyle'; -import ReCaptchaV3 from '@haskkor/react-native-recaptchav3'; import { loginFormSchema } from '../../../server/parsedSchemas/login'; import i18n from '../../../locales/i18n.js'; import styles from '../../../styles/login'; @@ -17,8 +16,6 @@ let Form = t.form.Form; export default class Login extends Component { constructor(props) { super(props); - // eslint-disable-next-line no-underscore-dangle - this._recaptchaToken = undefined; } onForgotPasswordClicked = () => { @@ -33,26 +30,12 @@ export default class Login extends Component { this.props.updateRoute('pickup_profile_modal'); }; - verifyCallback = token => { - // Here you will get the final token!!! - // eslint-disable-next-line no-underscore-dangle - this._recaptchaToken = token; - }; - - refreshToken = () => { - // eslint-disable-next-line no-underscore-dangle - if (this._captchaRef) { - // eslint-disable-next-line no-underscore-dangle - this._captchaRef.refreshToken(); - } - }; - handleLoginClick = () => { if (this.refs.loginForm.getValue()) { Keyboard.dismiss(); } // eslint-disable-next-line no-underscore-dangle - this.props.onPress(this._recaptchaToken, this.refreshToken); + this.props.onPress(); }; render() { const backgroundColor = 'white'; @@ -69,13 +52,6 @@ export default class Login extends Component { resetScrollToCoords={{ x: 0, y: 0 }} scrollEnabled > - (this._captchaRef = ref)} - captchaDomain={'https://www.trilliontreecampaign.org'} - siteKey={'6Ldl8WoUAAAAAGj0OIKqbvkm_XiDPbve07JJySBF'} - onReceiveToken={token => this.verifyCallback(token)} - /> { @@ -35,12 +33,6 @@ export default class SignUp extends Component { }); } - verifyCallback = token => { - // eslint-disable-next-line no-underscore-dangle - this._recaptchaToken = token; - // Here you will get the final token!!! - }; - refreshToken = () => { // eslint-disable-next-line no-underscore-dangle if (this._captchaRef) { @@ -54,7 +46,7 @@ export default class SignUp extends Component { Keyboard.dismiss(); } // eslint-disable-next-line no-underscore-dangle - this.props.onSignUpClicked(type, this._recaptchaToken, this.refreshToken); + this.props.onSignUpClicked(type); }; render() { @@ -76,13 +68,6 @@ export default class SignUp extends Component { // contentContainerStyle={[{ flex: 1 }]} // keyboardShouldPersistTaps={'handled'} > - (this._captchaRef = ref)} - captchaDomain={'https://www.trilliontreecampaign.org'} - siteKey={'6Ldl8WoUAAAAAGj0OIKqbvkm_XiDPbve07JJySBF'} - onReceiveToken={token => this.verifyCallback(token)} - /> {!ProfileTypeParam ? ( diff --git a/app/components/Common/VideoContainer.native.js b/app/components/Common/VideoContainer.native.js index 9935a8cf9..41826dadc 100644 --- a/app/components/Common/VideoContainer.native.js +++ b/app/components/Common/VideoContainer.native.js @@ -1,14 +1,12 @@ import React from 'react'; +import { ActivityIndicator } from 'react-native'; import PropTypes from 'prop-types'; -import YouTube from 'react-native-youtube'; -import { StyleSheet } from 'react-native'; - -const borderColor = '#d5d5d5'; +import WebView from 'react-native-webview'; class VideoContainer extends React.Component { constructor(props) { super(props); - this.state = { moduleMargin: StyleSheet.hairlineWidth * 2 }; + this.state = {}; } componentWillMount() { let videoId = undefined; @@ -27,59 +25,39 @@ class VideoContainer extends React.Component { } else if (this.props.videoId) { videoId = this.props.videoId; } - // Periodically triggeting a forced unnoticable layout rendering until onReady to make sure the - // native loading progress is shown if (videoId) { this.setState({ videoId }); - // eslint-disable-next-line no-underscore-dangle - this._interval = setInterval(() => { - this.setState({ moduleMargin: Math.random() / 2 }); - }, 250); + console.log(this.state); } } - _onReady = event => { - // eslint-disable-next-line no-underscore-dangle - clearInterval(this._interval); - // The Android YouTube native module is pretty problematic when it comes to mounting correctly - // and rendering inside React-Native's views hierarchy. For now we must trigger some layout - // changes to force a real render on it so it will smoothly appear after ready and show - // controls. We also use the minimal margin to avoid `UNAUTHORIZED_OVERLAY` error from the - // native module that is very sensitive to being covered or even touching its containing view. - setTimeout(() => { - this.setState({ moduleMargin: StyleSheet.hairlineWidth + 1 }); - }, 2000); - setTimeout(() => { - this.setState({ moduleMargin: StyleSheet.hairlineWidth }); - }, 250); - if (this.props.onReady) this.props.onReady(event.nativeEvent); - }; + displaySpinner() { + return ( + + ); + } + render() { if (this.state.videoId) { return ( - { - // eslint-disable-next-line no-underscore-dangle - this._youTubeRef = component; + { + return this.displaySpinner(); }} - style={[ - { - height: 300, - borderRadius: 5, - borderWidth: 1, - borderColor: borderColor - }, - { margin: this.state.moduleMargin } - ]} - // eslint-disable-next-line no-underscore-dangle - onReady={this._onReady} - videoId={this.state.videoId} - play={false} /> ); } - // console.log(this.state); return null; } } diff --git a/app/components/FAQ/index.native.js b/app/components/FAQ/index.native.js index a15c22943..ecbdcf8b9 100644 --- a/app/components/FAQ/index.native.js +++ b/app/components/FAQ/index.native.js @@ -18,6 +18,9 @@ import styles from '../../styles/faq'; import TabContainer from '../../containers/Menu/TabContainer'; export default class FAQ extends Component { + state = { + activeSections: [] + }; _renderHeader(section, index, isActive) { return ( @@ -55,6 +58,9 @@ export default class FAQ extends Component { ); } + _updateSections = activeSections => { + this.setState({ activeSections }); + }; render() { return this.props.loading ? ( @@ -62,11 +68,13 @@ export default class FAQ extends Component { diff --git a/app/components/Imprint/index.native.js b/app/components/Imprint/index.native.js index 9514d3289..987d34793 100644 --- a/app/components/Imprint/index.native.js +++ b/app/components/Imprint/index.native.js @@ -2,7 +2,8 @@ import React, { Component } from 'react'; import PropTypes from 'prop-types'; import HTMLView from 'react-native-htmlview'; -import { Text, View, ListView, Linking } from 'react-native'; +import { Text, View, Linking } from 'react-native'; +import ListView from 'deprecated-react-native-listview'; import LoadingIndicator from '../../components/Common/LoadingIndicator'; import { context } from '../../config'; import styles from '../../styles/faq'; diff --git a/app/components/Navigators/AppDrawerNavigator.js b/app/components/Navigators/AppDrawerNavigator.js index 5835d7503..84441b796 100644 --- a/app/components/Navigators/AppDrawerNavigator.js +++ b/app/components/Navigators/AppDrawerNavigator.js @@ -1,8 +1,7 @@ -import { - createBottomTabNavigator, - createDrawerNavigator, - createStackNavigator -} from 'react-navigation'; +import { createDrawerNavigator } from 'react-navigation-drawer'; +import { createAppContainer } from 'react-navigation'; +import { createStackNavigator } from 'react-navigation-stack'; +import { createBottomTabNavigator } from 'react-navigation-tabs'; import React from 'react'; import { Animated } from 'react-native'; import Trillion from '../TreecounterGraphics/Trillion'; @@ -124,12 +123,9 @@ export const getAppNavigator = function(isLoggedIn, userProfile) { [getLocalRoute('app_faq')]: FAQContainer, ['pickup_profile_modal']: ProfilePickerModal, [getLocalRoute('app_treecounter')]: PublicTreeCounterContainer, - ['about_us']: { screen: AboutUsContainer }, ['contribution_details']: { screen: UserContributionDetails }, - ['license_info_list']: { screen: LicenseInfoList }, - [getLocalRoute('app_imprint')]: { screen: ImprintContainer }, @@ -170,7 +166,7 @@ export const getAppNavigator = function(isLoggedIn, userProfile) { }, { headerMode: 'none', - navigationOptions: (/*{ navigation }*/) => { + defaultNavigationOptions: (/*{ navigation }*/) => { return { header: null }; @@ -300,7 +296,6 @@ export const getAppNavigator = function(isLoggedIn, userProfile) { [getLocalRoute('app_donateTrees')]: { screen: SelectPlantProjectContainer }, - [getLocalRoute('app_giftTrees')]: { screen: GiftTrees } @@ -354,7 +349,7 @@ export const getAppNavigator = function(isLoggedIn, userProfile) { } }, { - navigationOptions: ({ navigation }) => { + defaultNavigationOptions: ({ navigation }) => { let navigationConfig = { headerStyle: styles.container, headerTitleStyle: { paddingRight: 16 }, @@ -388,5 +383,5 @@ export const getAppNavigator = function(isLoggedIn, userProfile) { contentComponent: SideMenuContainer } ); - return AppNavigator; + return createAppContainer(AppNavigator); }; diff --git a/app/components/Payment/Gateways/StripeCC.native.js b/app/components/Payment/Gateways/StripeCC.native.js index 8e9436940..f30e87fb5 100644 --- a/app/components/Payment/Gateways/StripeCC.native.js +++ b/app/components/Payment/Gateways/StripeCC.native.js @@ -1,5 +1,6 @@ import React, { Component } from 'react'; import { StyleSheet, View } from 'react-native'; +// currently tipsi-stripe is removed from package.json as (1) it is unused and (2) the native support modules did not compile with Android import stripe, { PaymentCardTextField } from 'tipsi-stripe'; import PrimaryButton from '../../Common/Button/PrimaryButton'; import { NotificationManager } from '../../../notification/PopupNotificaiton/notificationManager'; diff --git a/app/components/Payment/Gateways/StripeSepa.native.js b/app/components/Payment/Gateways/StripeSepa.native.js index 1b9b7bfc9..583c3d993 100644 --- a/app/components/Payment/Gateways/StripeSepa.native.js +++ b/app/components/Payment/Gateways/StripeSepa.native.js @@ -3,6 +3,7 @@ import React, { Component } from 'react'; import { StyleSheet, View, Text, TextInput } from 'react-native'; import i18n from '../../../locales/i18n'; import PrimaryButton from '../../Common/Button/PrimaryButton'; +// currently tipsi-stripe is removed from package.json as (1) it is unused and (2) the native support modules did not compile with Android import stripe from 'tipsi-stripe'; import { NotificationManager } from '../../../notification/PopupNotificaiton/notificationManager'; const colors = { diff --git a/app/components/Payment/PaymentSelector.native.js b/app/components/Payment/PaymentSelector.native.js index 772fb9a53..4da10b17c 100644 --- a/app/components/Payment/PaymentSelector.native.js +++ b/app/components/Payment/PaymentSelector.native.js @@ -19,6 +19,7 @@ import { import Accordion from 'react-native-collapsible/Accordion'; import styles from '../../styles/payment.styles.native'; import StripeCC from './Gateways/StripeCC'; +// currently tipsi-stripe is removed from package.json as (1) it is unused and (2) the native support modules did not compile with Android import stripe from 'tipsi-stripe'; import StripeSepa from './Gateways/StripeSepa'; import i18n from '../../locales/i18n'; diff --git a/app/components/Privacy/index.native.js b/app/components/Privacy/index.native.js index 4eee4a402..d2d4599de 100644 --- a/app/components/Privacy/index.native.js +++ b/app/components/Privacy/index.native.js @@ -2,7 +2,8 @@ import React, { Component } from 'react'; import PropTypes from 'prop-types'; import HTMLView from 'react-native-htmlview'; -import { Text, View, ListView, Linking } from 'react-native'; +import { Text, View, Linking } from 'react-native'; +import ListView from 'deprecated-react-native-listview'; import LoadingIndicator from '../../components/Common/LoadingIndicator'; import { context } from '../../config'; import styles from '../../styles/faq'; diff --git a/app/components/Templates/MapTemplate.native.js b/app/components/Templates/MapTemplate.native.js index 9535c0a90..9cc6c2cf5 100644 --- a/app/components/Templates/MapTemplate.native.js +++ b/app/components/Templates/MapTemplate.native.js @@ -1,6 +1,8 @@ import { Text, View } from 'react-native'; import React from 'react'; -import Permissions from 'react-native-permissions'; +import { Platform } from 'react-native'; +import { PERMISSIONS, request } from 'react-native-permissions'; +import Geolocation from '@react-native-community/geolocation'; import PrimaryButton from '../../components/Common/Button/PrimaryButton'; import mapTemplateStyle from '../../styles/mapTemplate.native'; import { NotificationManager } from '../../notification/PopupNotificaiton/notificationManager'; @@ -24,28 +26,28 @@ export function MapTemplate(locals) { { - navigator.geolocation.setRNConfiguration({ - skipPermissionRequests: true + request( + Platform.select({ + android: PERMISSIONS.ANDROID.ACCESS_FINE_LOCATION, + ios: PERMISSIONS.IOS.LOCATION_WHEN_IN_USE + }) + ).then((/*response*/) => { + Geolocation.getCurrentPosition( + location => { + let { latitude, longitude } = location.coords; + locals.onChange( + 'geoLongitude=' + longitude + '&geoLatitude=' + latitude + ); + }, + (/*location*/) => { + NotificationManager.error( + i18n.t('label.location_permission_denied'), + i18n.t('label.error'), + 5000 + ); + } + ); }); - Permissions.request('location', { type: 'whenInUse' }).then( - (/*response*/) => { - navigator.geolocation.getCurrentPosition( - location => { - let { latitude, longitude } = location.coords; - locals.onChange( - 'geoLongitude=' + longitude + '&geoLatitude=' + latitude - ); - }, - (/*location*/) => { - NotificationManager.error( - i18n.t('label.location_permission_denied'), - i18n.t('label.error'), - 5000 - ); - } - ); - } - ); }} > {i18n.t('label.get_device_location')} diff --git a/clean.sh b/clean.sh new file mode 100755 index 000000000..41d3697fb --- /dev/null +++ b/clean.sh @@ -0,0 +1,49 @@ +echo 'removing npm, metro and react cache' +rm -rf $TMPDIR/react-* +rm -rf $TMPDIR/metro-* +watchman watch-del-all +npm cache verify + +echo 'removing Xcode derived data' +rm -rf ~/Library/Developer/Xcode/DerivedData +​ +echo 'removing iOS pods' +cd ios +pod deintegrate +pod cache clean --all +cd .. +​rm -rf ios/Pods +rm -rf ios/Podfile.lock +rm -rf ios/build + +echo 'removing node modules' +rm -rf node_modules +rm -rf package-lock.json +​ +# DO THIS IF YOU REALLY NEED +# echo 'cocoapods install' +# gem install cocoapods +​ +# DO THIS IF YOU REALLY NEED +# echo 'brew' +# brew update && brew upgrade +​ +echo 'installing node modules' +# watch out 13.3.0 of node does not work, use 12.13.1 LTS! +npm i +​ +echo 'installing pods' +cd ios +pod update +pod install +cd .. + +echo 'cleaning Android build' +cd android +./gradlew cleanBuildCache +cd .. + + +# for Android the minSDK level of the Manifest of react-native-i18n has to be removed​ +echo 'now run: react-native run-android' +echo 'now run: react-native run-ios' diff --git a/ios/Podfile b/ios/Podfile index 3af30d7a6..fb0294eef 100644 --- a/ios/Podfile +++ b/ios/Podfile @@ -1,6 +1,84 @@ # Uncomment the next line to define a global platform for your project -# platform :ios, '9.0' +platform :ios, '9.0' +require_relative '../node_modules/@react-native-community/cli-platform-ios/native_modules' target 'TreecounterApp' do inherit! :search_paths + + pre_install do |installer| + # workaround for https://github.com/CocoaPods/CocoaPods/issues/3289 + Pod::Installer::Xcode::TargetValidator.send(:define_method, :verify_no_static_framework_transitive_dependencies) {} + end + + post_install do |installer| + installer.pods_project.targets.each do |target| + if target.name == 'react-native-config' + phase = target.project.new(Xcodeproj::Project::Object::PBXShellScriptBuildPhase) + phase.shell_script = "cd ../../"\ + " && RNC_ROOT=./node_modules/react-native-config/"\ + " && export SYMROOT=$RNC_ROOT/ios/ReactNativeConfig"\ + " && ruby $RNC_ROOT/ios/ReactNativeConfig/BuildDotenvConfig.ruby" + + target.build_phases << phase + target.build_phases.move(phase,0) + end + end + end + + pod 'FBLazyVector', :path => "../node_modules/react-native/Libraries/FBLazyVector" + pod 'FBReactNativeSpec', :path => "../node_modules/react-native/Libraries/FBReactNativeSpec" + pod 'RCTRequired', :path => "../node_modules/react-native/Libraries/RCTRequired" + pod 'RCTTypeSafety', :path => "../node_modules/react-native/Libraries/TypeSafety" + pod 'React', :path => '../node_modules/react-native/' + pod 'React-Core', :path => '../node_modules/react-native/' + pod 'React-CoreModules', :path => '../node_modules/react-native/React/CoreModules' + pod 'React-Core/DevSupport', :path => '../node_modules/react-native/' + pod 'React-RCTActionSheet', :path => '../node_modules/react-native/Libraries/ActionSheetIOS' + pod 'React-RCTAnimation', :path => '../node_modules/react-native/Libraries/NativeAnimation' + pod 'React-RCTBlob', :path => '../node_modules/react-native/Libraries/Blob' + pod 'React-RCTImage', :path => '../node_modules/react-native/Libraries/Image' + pod 'React-RCTLinking', :path => '../node_modules/react-native/Libraries/LinkingIOS' + pod 'React-RCTNetwork', :path => '../node_modules/react-native/Libraries/Network' + pod 'React-RCTSettings', :path => '../node_modules/react-native/Libraries/Settings' + pod 'React-RCTText', :path => '../node_modules/react-native/Libraries/Text' + pod 'React-RCTVibration', :path => '../node_modules/react-native/Libraries/Vibration' + pod 'React-Core/RCTWebSocket', :path => '../node_modules/react-native/' + + pod 'React-cxxreact', :path => '../node_modules/react-native/ReactCommon/cxxreact' + pod 'React-jsi', :path => '../node_modules/react-native/ReactCommon/jsi' + pod 'React-jsiexecutor', :path => '../node_modules/react-native/ReactCommon/jsiexecutor' + pod 'React-jsinspector', :path => '../node_modules/react-native/ReactCommon/jsinspector' + pod 'ReactCommon/jscallinvoker', :path => "../node_modules/react-native/ReactCommon" + pod 'ReactCommon/turbomodule/core', :path => "../node_modules/react-native/ReactCommon" + pod 'Yoga', :path => '../node_modules/react-native/ReactCommon/yoga' + + 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' + + permissions_path = '../node_modules/react-native-permissions/ios' + + pod 'Permission-BluetoothPeripheral', :path => "#{permissions_path}/BluetoothPeripheral.podspec" + pod 'Permission-Calendars', :path => "#{permissions_path}/Calendars.podspec" + pod 'Permission-Camera', :path => "#{permissions_path}/Camera.podspec" + pod 'Permission-Contacts', :path => "#{permissions_path}/Contacts.podspec" + pod 'Permission-FaceID', :path => "#{permissions_path}/FaceID.podspec" + pod 'Permission-LocationAlways', :path => "#{permissions_path}/LocationAlways.podspec" + pod 'Permission-LocationWhenInUse', :path => "#{permissions_path}/LocationWhenInUse.podspec" + pod 'Permission-MediaLibrary', :path => "#{permissions_path}/MediaLibrary.podspec" + pod 'Permission-Microphone', :path => "#{permissions_path}/Microphone.podspec" + pod 'Permission-Motion', :path => "#{permissions_path}/Motion.podspec" + pod 'Permission-Notifications', :path => "#{permissions_path}/Notifications.podspec" + pod 'Permission-PhotoLibrary', :path => "#{permissions_path}/PhotoLibrary.podspec" + pod 'Permission-Reminders', :path => "#{permissions_path}/Reminders.podspec" + pod 'Permission-Siri', :path => "#{permissions_path}/Siri.podspec" + pod 'Permission-SpeechRecognition', :path => "#{permissions_path}/SpeechRecognition.podspec" + pod 'Permission-StoreKit', :path => "#{permissions_path}/StoreKit.podspec" + + target 'TreecounterAppTests' do + inherit! :search_paths + # Pods for testing + end + + use_native_modules! end diff --git a/ios/Podfile.lock b/ios/Podfile.lock deleted file mode 100644 index 7ff13cfef..000000000 --- a/ios/Podfile.lock +++ /dev/null @@ -1,3 +0,0 @@ -PODFILE CHECKSUM: 20207421bf07359fd9df951b455942654e515fdc - -COCOAPODS: 1.5.3 diff --git a/ios/Pods/Manifest.lock b/ios/Pods/Manifest.lock deleted file mode 100644 index 7ff13cfef..000000000 --- a/ios/Pods/Manifest.lock +++ /dev/null @@ -1,3 +0,0 @@ -PODFILE CHECKSUM: 20207421bf07359fd9df951b455942654e515fdc - -COCOAPODS: 1.5.3 diff --git a/ios/Pods/Pods.xcodeproj/project.pbxproj b/ios/Pods/Pods.xcodeproj/project.pbxproj deleted file mode 100644 index 10b2ab5b1..000000000 --- a/ios/Pods/Pods.xcodeproj/project.pbxproj +++ /dev/null @@ -1,347 +0,0 @@ -// !$*UTF8*$! -{ - archiveVersion = 1; - classes = { - }; - objectVersion = 46; - objects = { - -/* Begin PBXBuildFile section */ - 44242CB8F78B5ADA9A81F4ED7C79B7E5 /* Pods-TreecounterApp-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = F7768588F3C1723F6AF1931C3022CDE8 /* Pods-TreecounterApp-dummy.m */; }; -/* End PBXBuildFile section */ - -/* Begin PBXFileReference section */ - 24390EFD555DD124430DFF9724065945 /* Podfile */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; lastKnownFileType = text; name = Podfile; path = ../Podfile; sourceTree = SOURCE_ROOT; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; - 43A3074315F437793E990EDA79B5BDEC /* Pods-TreecounterApp.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-TreecounterApp.release.xcconfig"; sourceTree = ""; }; - 5C2A37DFE2132532F33880D6788BD976 /* Pods-TreecounterApp-resources.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-TreecounterApp-resources.sh"; sourceTree = ""; }; - 85E3EFBBAB24E4C028DFE6079A6A2E55 /* libPods-TreecounterApp.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = "libPods-TreecounterApp.a"; path = "libPods-TreecounterApp.a"; sourceTree = BUILT_PRODUCTS_DIR; }; - 8A49BAD048FDF1499A8F4B6FF468B7D3 /* Pods-TreecounterApp-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-TreecounterApp-frameworks.sh"; sourceTree = ""; }; - C18B5DEF7F5EF42830B6602600F3FBC5 /* Pods-TreecounterApp.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-TreecounterApp.debug.xcconfig"; sourceTree = ""; }; - D76A650FB60E2BC2E57696F0725C2E63 /* Pods-TreecounterApp-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-TreecounterApp-acknowledgements.plist"; sourceTree = ""; }; - EDE6553E333D5B85DC56944D3E5A55C5 /* Pods-TreecounterApp-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-TreecounterApp-acknowledgements.markdown"; sourceTree = ""; }; - F7768588F3C1723F6AF1931C3022CDE8 /* Pods-TreecounterApp-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-TreecounterApp-dummy.m"; sourceTree = ""; }; -/* End PBXFileReference section */ - -/* Begin PBXFrameworksBuildPhase section */ - D8C16DFC161413E1CE30CA0759987E25 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXFrameworksBuildPhase section */ - -/* Begin PBXGroup section */ - 1F9F3BEE5531A645AAB18DF6D777B866 /* Pods-TreecounterApp */ = { - isa = PBXGroup; - children = ( - EDE6553E333D5B85DC56944D3E5A55C5 /* Pods-TreecounterApp-acknowledgements.markdown */, - D76A650FB60E2BC2E57696F0725C2E63 /* Pods-TreecounterApp-acknowledgements.plist */, - F7768588F3C1723F6AF1931C3022CDE8 /* Pods-TreecounterApp-dummy.m */, - 8A49BAD048FDF1499A8F4B6FF468B7D3 /* Pods-TreecounterApp-frameworks.sh */, - 5C2A37DFE2132532F33880D6788BD976 /* Pods-TreecounterApp-resources.sh */, - C18B5DEF7F5EF42830B6602600F3FBC5 /* Pods-TreecounterApp.debug.xcconfig */, - 43A3074315F437793E990EDA79B5BDEC /* Pods-TreecounterApp.release.xcconfig */, - ); - name = "Pods-TreecounterApp"; - path = "Target Support Files/Pods-TreecounterApp"; - sourceTree = ""; - }; - A1E714113672FE2273BAB88C4FF1EB01 /* Products */ = { - isa = PBXGroup; - children = ( - 85E3EFBBAB24E4C028DFE6079A6A2E55 /* libPods-TreecounterApp.a */, - ); - name = Products; - sourceTree = ""; - }; - AE3CE4CC1740CA54EE650615D4A77716 /* Targets Support Files */ = { - isa = PBXGroup; - children = ( - 1F9F3BEE5531A645AAB18DF6D777B866 /* Pods-TreecounterApp */, - ); - name = "Targets Support Files"; - sourceTree = ""; - }; - CF1408CF629C7361332E53B88F7BD30C = { - isa = PBXGroup; - children = ( - 24390EFD555DD124430DFF9724065945 /* Podfile */, - D89477F20FB1DE18A04690586D7808C4 /* Frameworks */, - A1E714113672FE2273BAB88C4FF1EB01 /* Products */, - AE3CE4CC1740CA54EE650615D4A77716 /* Targets Support Files */, - ); - sourceTree = ""; - }; - D89477F20FB1DE18A04690586D7808C4 /* Frameworks */ = { - isa = PBXGroup; - children = ( - ); - name = Frameworks; - sourceTree = ""; - }; -/* End PBXGroup section */ - -/* Begin PBXHeadersBuildPhase section */ - A105A04AE31FFAF3D72E052B6B0CACEE /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXHeadersBuildPhase section */ - -/* Begin PBXNativeTarget section */ - 744C731E5201955B235C2796380A42F2 /* Pods-TreecounterApp */ = { - isa = PBXNativeTarget; - buildConfigurationList = 3E816E93D439E830784BB6826611AB03 /* Build configuration list for PBXNativeTarget "Pods-TreecounterApp" */; - buildPhases = ( - A105A04AE31FFAF3D72E052B6B0CACEE /* Headers */, - A5FBCE03E3F80194BE0554E705ED11A6 /* Sources */, - D8C16DFC161413E1CE30CA0759987E25 /* Frameworks */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = "Pods-TreecounterApp"; - productName = "Pods-TreecounterApp"; - productReference = 85E3EFBBAB24E4C028DFE6079A6A2E55 /* libPods-TreecounterApp.a */; - productType = "com.apple.product-type.library.static"; - }; -/* End PBXNativeTarget section */ - -/* Begin PBXProject section */ - BFDFE7DC352907FC980B868725387E98 /* Project object */ = { - isa = PBXProject; - attributes = { - LastSwiftUpdateCheck = 0930; - LastUpgradeCheck = 0930; - }; - buildConfigurationList = 4821239608C13582E20E6DA73FD5F1F9 /* Build configuration list for PBXProject "Pods" */; - compatibilityVersion = "Xcode 3.2"; - developmentRegion = English; - hasScannedForEncodings = 0; - knownRegions = ( - en, - ); - mainGroup = CF1408CF629C7361332E53B88F7BD30C; - productRefGroup = A1E714113672FE2273BAB88C4FF1EB01 /* Products */; - projectDirPath = ""; - projectRoot = ""; - targets = ( - 744C731E5201955B235C2796380A42F2 /* Pods-TreecounterApp */, - ); - }; -/* End PBXProject section */ - -/* Begin PBXSourcesBuildPhase section */ - A5FBCE03E3F80194BE0554E705ED11A6 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 44242CB8F78B5ADA9A81F4ED7C79B7E5 /* Pods-TreecounterApp-dummy.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXSourcesBuildPhase section */ - -/* Begin XCBuildConfiguration section */ - 3073E9329E3D859060CB4B679A6C557C /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_ENABLE_OBJC_WEAK = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - CODE_SIGNING_ALLOWED = NO; - CODE_SIGNING_REQUIRED = NO; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - ENABLE_NS_ASSERTIONS = NO; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_C_LANGUAGE_STANDARD = gnu11; - GCC_NO_COMMON_BLOCKS = YES; - GCC_PREPROCESSOR_DEFINITIONS = ( - "POD_CONFIGURATION_RELEASE=1", - "$(inherited)", - ); - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; - MTL_ENABLE_DEBUG_INFO = NO; - MTL_FAST_MATH = YES; - PRODUCT_NAME = "$(TARGET_NAME)"; - STRIP_INSTALLED_PRODUCT = NO; - SWIFT_COMPILATION_MODE = wholemodule; - SWIFT_OPTIMIZATION_LEVEL = "-O"; - SWIFT_VERSION = 4.2; - SYMROOT = "${SRCROOT}/../build"; - }; - name = Release; - }; - A42232F36A4C16659EB98488D5AF6004 /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = C18B5DEF7F5EF42830B6602600F3FBC5 /* Pods-TreecounterApp.debug.xcconfig */; - buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; - CODE_SIGN_IDENTITY = "iPhone Developer"; - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; - MACH_O_TYPE = staticlib; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOLFLAGS = ""; - PODS_ROOT = "$(SRCROOT)"; - PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = Debug; - }; - B0CEBD75ABDB24DF9E775DBB33056166 /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 43A3074315F437793E990EDA79B5BDEC /* Pods-TreecounterApp.release.xcconfig */; - buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; - CODE_SIGN_IDENTITY = "iPhone Developer"; - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; - MACH_O_TYPE = staticlib; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOLFLAGS = ""; - PODS_ROOT = "$(SRCROOT)"; - PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; - }; - name = Release; - }; - E728C0BD3857BC99A5D2AD6ACDFBA09A /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_ENABLE_OBJC_WEAK = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - CODE_SIGNING_ALLOWED = NO; - CODE_SIGNING_REQUIRED = NO; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = dwarf; - ENABLE_STRICT_OBJC_MSGSEND = YES; - ENABLE_TESTABILITY = YES; - GCC_C_LANGUAGE_STANDARD = gnu11; - GCC_DYNAMIC_NO_PIC = NO; - GCC_NO_COMMON_BLOCKS = YES; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PREPROCESSOR_DEFINITIONS = ( - "POD_CONFIGURATION_DEBUG=1", - "DEBUG=1", - "$(inherited)", - ); - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; - MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; - MTL_FAST_MATH = YES; - ONLY_ACTIVE_ARCH = YES; - PRODUCT_NAME = "$(TARGET_NAME)"; - STRIP_INSTALLED_PRODUCT = NO; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 4.2; - SYMROOT = "${SRCROOT}/../build"; - }; - name = Debug; - }; -/* End XCBuildConfiguration section */ - -/* Begin XCConfigurationList section */ - 3E816E93D439E830784BB6826611AB03 /* Build configuration list for PBXNativeTarget "Pods-TreecounterApp" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - A42232F36A4C16659EB98488D5AF6004 /* Debug */, - B0CEBD75ABDB24DF9E775DBB33056166 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 4821239608C13582E20E6DA73FD5F1F9 /* Build configuration list for PBXProject "Pods" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - E728C0BD3857BC99A5D2AD6ACDFBA09A /* Debug */, - 3073E9329E3D859060CB4B679A6C557C /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; -/* End XCConfigurationList section */ - }; - rootObject = BFDFE7DC352907FC980B868725387E98 /* Project object */; -} diff --git a/ios/Pods/Target Support Files/Pods-TreecounterApp/Pods-TreecounterApp-acknowledgements.markdown b/ios/Pods/Target Support Files/Pods-TreecounterApp/Pods-TreecounterApp-acknowledgements.markdown deleted file mode 100644 index 102af7538..000000000 --- a/ios/Pods/Target Support Files/Pods-TreecounterApp/Pods-TreecounterApp-acknowledgements.markdown +++ /dev/null @@ -1,3 +0,0 @@ -# Acknowledgements -This application makes use of the following third party libraries: -Generated by CocoaPods - https://cocoapods.org diff --git a/ios/Pods/Target Support Files/Pods-TreecounterApp/Pods-TreecounterApp-acknowledgements.plist b/ios/Pods/Target Support Files/Pods-TreecounterApp/Pods-TreecounterApp-acknowledgements.plist deleted file mode 100644 index 7acbad1ea..000000000 --- a/ios/Pods/Target Support Files/Pods-TreecounterApp/Pods-TreecounterApp-acknowledgements.plist +++ /dev/null @@ -1,29 +0,0 @@ - - - - - PreferenceSpecifiers - - - FooterText - This application makes use of the following third party libraries: - Title - Acknowledgements - Type - PSGroupSpecifier - - - FooterText - Generated by CocoaPods - https://cocoapods.org - Title - - Type - PSGroupSpecifier - - - StringsTable - Acknowledgements - Title - Acknowledgements - - diff --git a/ios/Pods/Target Support Files/Pods-TreecounterApp/Pods-TreecounterApp-dummy.m b/ios/Pods/Target Support Files/Pods-TreecounterApp/Pods-TreecounterApp-dummy.m deleted file mode 100644 index 37e6251a8..000000000 --- a/ios/Pods/Target Support Files/Pods-TreecounterApp/Pods-TreecounterApp-dummy.m +++ /dev/null @@ -1,5 +0,0 @@ -#import -@interface PodsDummy_Pods_TreecounterApp : NSObject -@end -@implementation PodsDummy_Pods_TreecounterApp -@end diff --git a/ios/Pods/Target Support Files/Pods-TreecounterApp/Pods-TreecounterApp-frameworks.sh b/ios/Pods/Target Support Files/Pods-TreecounterApp/Pods-TreecounterApp-frameworks.sh deleted file mode 100755 index 08e3eaaca..000000000 --- a/ios/Pods/Target Support Files/Pods-TreecounterApp/Pods-TreecounterApp-frameworks.sh +++ /dev/null @@ -1,146 +0,0 @@ -#!/bin/sh -set -e -set -u -set -o pipefail - -if [ -z ${FRAMEWORKS_FOLDER_PATH+x} ]; then - # If FRAMEWORKS_FOLDER_PATH is not set, then there's nowhere for us to copy - # frameworks to, so exit 0 (signalling the script phase was successful). - exit 0 -fi - -echo "mkdir -p ${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" -mkdir -p "${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" - -COCOAPODS_PARALLEL_CODE_SIGN="${COCOAPODS_PARALLEL_CODE_SIGN:-false}" -SWIFT_STDLIB_PATH="${DT_TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" - -# Used as a return value for each invocation of `strip_invalid_archs` function. -STRIP_BINARY_RETVAL=0 - -# This protects against multiple targets copying the same framework dependency at the same time. The solution -# was originally proposed here: https://lists.samba.org/archive/rsync/2008-February/020158.html -RSYNC_PROTECT_TMP_FILES=(--filter "P .*.??????") - -# Copies and strips a vendored framework -install_framework() -{ - if [ -r "${BUILT_PRODUCTS_DIR}/$1" ]; then - local source="${BUILT_PRODUCTS_DIR}/$1" - elif [ -r "${BUILT_PRODUCTS_DIR}/$(basename "$1")" ]; then - local source="${BUILT_PRODUCTS_DIR}/$(basename "$1")" - elif [ -r "$1" ]; then - local source="$1" - fi - - local destination="${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" - - if [ -L "${source}" ]; then - echo "Symlinked..." - source="$(readlink "${source}")" - fi - - # Use filter instead of exclude so missing patterns don't throw errors. - echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" --filter \"- Headers\" --filter \"- PrivateHeaders\" --filter \"- Modules\" \"${source}\" \"${destination}\"" - rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${source}" "${destination}" - - local basename - basename="$(basename -s .framework "$1")" - binary="${destination}/${basename}.framework/${basename}" - if ! [ -r "$binary" ]; then - binary="${destination}/${basename}" - fi - - # Strip invalid architectures so "fat" simulator / device frameworks work on device - if [[ "$(file "$binary")" == *"dynamically linked shared library"* ]]; then - strip_invalid_archs "$binary" - fi - - # Resign the code if required by the build settings to avoid unstable apps - code_sign_if_enabled "${destination}/$(basename "$1")" - - # Embed linked Swift runtime libraries. No longer necessary as of Xcode 7. - if [ "${XCODE_VERSION_MAJOR}" -lt 7 ]; then - local swift_runtime_libs - swift_runtime_libs=$(xcrun otool -LX "$binary" | grep --color=never @rpath/libswift | sed -E s/@rpath\\/\(.+dylib\).*/\\1/g | uniq -u && exit ${PIPESTATUS[0]}) - for lib in $swift_runtime_libs; do - echo "rsync -auv \"${SWIFT_STDLIB_PATH}/${lib}\" \"${destination}\"" - rsync -auv "${SWIFT_STDLIB_PATH}/${lib}" "${destination}" - code_sign_if_enabled "${destination}/${lib}" - done - fi -} - -# Copies and strips a vendored dSYM -install_dsym() { - local source="$1" - if [ -r "$source" ]; then - # Copy the dSYM into a the targets temp dir. - echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" --filter \"- Headers\" --filter \"- PrivateHeaders\" --filter \"- Modules\" \"${source}\" \"${DERIVED_FILES_DIR}\"" - rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${source}" "${DERIVED_FILES_DIR}" - - local basename - basename="$(basename -s .framework.dSYM "$source")" - binary="${DERIVED_FILES_DIR}/${basename}.framework.dSYM/Contents/Resources/DWARF/${basename}" - - # Strip invalid architectures so "fat" simulator / device frameworks work on device - if [[ "$(file "$binary")" == *"Mach-O dSYM companion"* ]]; then - strip_invalid_archs "$binary" - fi - - if [[ $STRIP_BINARY_RETVAL == 1 ]]; then - # Move the stripped file into its final destination. - echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" --filter \"- Headers\" --filter \"- PrivateHeaders\" --filter \"- Modules\" \"${DERIVED_FILES_DIR}/${basename}.framework.dSYM\" \"${DWARF_DSYM_FOLDER_PATH}\"" - rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${DERIVED_FILES_DIR}/${basename}.framework.dSYM" "${DWARF_DSYM_FOLDER_PATH}" - else - # The dSYM was not stripped at all, in this case touch a fake folder so the input/output paths from Xcode do not reexecute this script because the file is missing. - touch "${DWARF_DSYM_FOLDER_PATH}/${basename}.framework.dSYM" - fi - fi -} - -# Signs a framework with the provided identity -code_sign_if_enabled() { - if [ -n "${EXPANDED_CODE_SIGN_IDENTITY}" -a "${CODE_SIGNING_REQUIRED:-}" != "NO" -a "${CODE_SIGNING_ALLOWED}" != "NO" ]; then - # Use the current code_sign_identitiy - echo "Code Signing $1 with Identity ${EXPANDED_CODE_SIGN_IDENTITY_NAME}" - local code_sign_cmd="/usr/bin/codesign --force --sign ${EXPANDED_CODE_SIGN_IDENTITY} ${OTHER_CODE_SIGN_FLAGS:-} --preserve-metadata=identifier,entitlements '$1'" - - if [ "${COCOAPODS_PARALLEL_CODE_SIGN}" == "true" ]; then - code_sign_cmd="$code_sign_cmd &" - fi - echo "$code_sign_cmd" - eval "$code_sign_cmd" - fi -} - -# Strip invalid architectures -strip_invalid_archs() { - binary="$1" - # Get architectures for current target binary - binary_archs="$(lipo -info "$binary" | rev | cut -d ':' -f1 | awk '{$1=$1;print}' | rev)" - # Intersect them with the architectures we are building for - intersected_archs="$(echo ${ARCHS[@]} ${binary_archs[@]} | tr ' ' '\n' | sort | uniq -d)" - # If there are no archs supported by this binary then warn the user - if [[ -z "$intersected_archs" ]]; then - echo "warning: [CP] Vendored binary '$binary' contains architectures ($binary_archs) none of which match the current build architectures ($ARCHS)." - STRIP_BINARY_RETVAL=0 - return - fi - stripped="" - for arch in $binary_archs; do - if ! [[ "${ARCHS}" == *"$arch"* ]]; then - # Strip non-valid architectures in-place - lipo -remove "$arch" -output "$binary" "$binary" || exit 1 - stripped="$stripped $arch" - fi - done - if [[ "$stripped" ]]; then - echo "Stripped $binary of architectures:$stripped" - fi - STRIP_BINARY_RETVAL=1 -} - -if [ "${COCOAPODS_PARALLEL_CODE_SIGN}" == "true" ]; then - wait -fi diff --git a/ios/Pods/Target Support Files/Pods-TreecounterApp/Pods-TreecounterApp-resources.sh b/ios/Pods/Target Support Files/Pods-TreecounterApp/Pods-TreecounterApp-resources.sh deleted file mode 100755 index 345301f2c..000000000 --- a/ios/Pods/Target Support Files/Pods-TreecounterApp/Pods-TreecounterApp-resources.sh +++ /dev/null @@ -1,118 +0,0 @@ -#!/bin/sh -set -e -set -u -set -o pipefail - -if [ -z ${UNLOCALIZED_RESOURCES_FOLDER_PATH+x} ]; then - # If UNLOCALIZED_RESOURCES_FOLDER_PATH is not set, then there's nowhere for us to copy - # resources to, so exit 0 (signalling the script phase was successful). - exit 0 -fi - -mkdir -p "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" - -RESOURCES_TO_COPY=${PODS_ROOT}/resources-to-copy-${TARGETNAME}.txt -> "$RESOURCES_TO_COPY" - -XCASSET_FILES=() - -# This protects against multiple targets copying the same framework dependency at the same time. The solution -# was originally proposed here: https://lists.samba.org/archive/rsync/2008-February/020158.html -RSYNC_PROTECT_TMP_FILES=(--filter "P .*.??????") - -case "${TARGETED_DEVICE_FAMILY:-}" in - 1,2) - TARGET_DEVICE_ARGS="--target-device ipad --target-device iphone" - ;; - 1) - TARGET_DEVICE_ARGS="--target-device iphone" - ;; - 2) - TARGET_DEVICE_ARGS="--target-device ipad" - ;; - 3) - TARGET_DEVICE_ARGS="--target-device tv" - ;; - 4) - TARGET_DEVICE_ARGS="--target-device watch" - ;; - *) - TARGET_DEVICE_ARGS="--target-device mac" - ;; -esac - -install_resource() -{ - if [[ "$1" = /* ]] ; then - RESOURCE_PATH="$1" - else - RESOURCE_PATH="${PODS_ROOT}/$1" - fi - if [[ ! -e "$RESOURCE_PATH" ]] ; then - cat << EOM -error: Resource "$RESOURCE_PATH" not found. Run 'pod install' to update the copy resources script. -EOM - exit 1 - fi - case $RESOURCE_PATH in - *.storyboard) - echo "ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile ${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .storyboard`.storyboardc $RESOURCE_PATH --sdk ${SDKROOT} ${TARGET_DEVICE_ARGS}" || true - ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .storyboard`.storyboardc" "$RESOURCE_PATH" --sdk "${SDKROOT}" ${TARGET_DEVICE_ARGS} - ;; - *.xib) - echo "ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile ${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .xib`.nib $RESOURCE_PATH --sdk ${SDKROOT} ${TARGET_DEVICE_ARGS}" || true - ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .xib`.nib" "$RESOURCE_PATH" --sdk "${SDKROOT}" ${TARGET_DEVICE_ARGS} - ;; - *.framework) - echo "mkdir -p ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" || true - mkdir -p "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" - echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" $RESOURCE_PATH ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" || true - rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" - ;; - *.xcdatamodel) - echo "xcrun momc \"$RESOURCE_PATH\" \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH"`.mom\"" || true - xcrun momc "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcdatamodel`.mom" - ;; - *.xcdatamodeld) - echo "xcrun momc \"$RESOURCE_PATH\" \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcdatamodeld`.momd\"" || true - xcrun momc "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcdatamodeld`.momd" - ;; - *.xcmappingmodel) - echo "xcrun mapc \"$RESOURCE_PATH\" \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcmappingmodel`.cdm\"" || true - xcrun mapc "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcmappingmodel`.cdm" - ;; - *.xcassets) - ABSOLUTE_XCASSET_FILE="$RESOURCE_PATH" - XCASSET_FILES+=("$ABSOLUTE_XCASSET_FILE") - ;; - *) - echo "$RESOURCE_PATH" || true - echo "$RESOURCE_PATH" >> "$RESOURCES_TO_COPY" - ;; - esac -} - -mkdir -p "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" -rsync -avr --copy-links --no-relative --exclude '*/.svn/*' --files-from="$RESOURCES_TO_COPY" / "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" -if [[ "${ACTION}" == "install" ]] && [[ "${SKIP_INSTALL}" == "NO" ]]; then - mkdir -p "${INSTALL_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" - rsync -avr --copy-links --no-relative --exclude '*/.svn/*' --files-from="$RESOURCES_TO_COPY" / "${INSTALL_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" -fi -rm -f "$RESOURCES_TO_COPY" - -if [[ -n "${WRAPPER_EXTENSION}" ]] && [ "`xcrun --find actool`" ] && [ -n "${XCASSET_FILES:-}" ] -then - # Find all other xcassets (this unfortunately includes those of path pods and other targets). - OTHER_XCASSETS=$(find "$PWD" -iname "*.xcassets" -type d) - while read line; do - if [[ $line != "${PODS_ROOT}*" ]]; then - XCASSET_FILES+=("$line") - fi - done <<<"$OTHER_XCASSETS" - - if [ -z ${ASSETCATALOG_COMPILER_APPICON_NAME+x} ]; then - printf "%s\0" "${XCASSET_FILES[@]}" | xargs -0 xcrun actool --output-format human-readable-text --notices --warnings --platform "${PLATFORM_NAME}" --minimum-deployment-target "${!DEPLOYMENT_TARGET_SETTING_NAME}" ${TARGET_DEVICE_ARGS} --compress-pngs --compile "${BUILT_PRODUCTS_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" - else - printf "%s\0" "${XCASSET_FILES[@]}" | xargs -0 xcrun actool --output-format human-readable-text --notices --warnings --platform "${PLATFORM_NAME}" --minimum-deployment-target "${!DEPLOYMENT_TARGET_SETTING_NAME}" ${TARGET_DEVICE_ARGS} --compress-pngs --compile "${BUILT_PRODUCTS_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" --app-icon "${ASSETCATALOG_COMPILER_APPICON_NAME}" --output-partial-info-plist "${TARGET_TEMP_DIR}/assetcatalog_generated_info_cocoapods.plist" - fi -fi diff --git a/ios/Pods/Target Support Files/Pods-TreecounterApp/Pods-TreecounterApp.debug.xcconfig b/ios/Pods/Target Support Files/Pods-TreecounterApp/Pods-TreecounterApp.debug.xcconfig deleted file mode 100644 index 729bac8c7..000000000 --- a/ios/Pods/Target Support Files/Pods-TreecounterApp/Pods-TreecounterApp.debug.xcconfig +++ /dev/null @@ -1,6 +0,0 @@ -GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 -OTHER_LDFLAGS = $(inherited) -ObjC -PODS_BUILD_DIR = ${BUILD_DIR} -PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) -PODS_PODFILE_DIR_PATH = ${SRCROOT}/. -PODS_ROOT = ${SRCROOT}/Pods diff --git a/ios/Pods/Target Support Files/Pods-TreecounterApp/Pods-TreecounterApp.release.xcconfig b/ios/Pods/Target Support Files/Pods-TreecounterApp/Pods-TreecounterApp.release.xcconfig deleted file mode 100644 index 729bac8c7..000000000 --- a/ios/Pods/Target Support Files/Pods-TreecounterApp/Pods-TreecounterApp.release.xcconfig +++ /dev/null @@ -1,6 +0,0 @@ -GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 -OTHER_LDFLAGS = $(inherited) -ObjC -PODS_BUILD_DIR = ${BUILD_DIR} -PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) -PODS_PODFILE_DIR_PATH = ${SRCROOT}/. -PODS_ROOT = ${SRCROOT}/Pods diff --git a/ios/TreecounterApp.xcodeproj/project.pbxproj b/ios/TreecounterApp.xcodeproj/project.pbxproj index d653f576b..6a1075159 100644 --- a/ios/TreecounterApp.xcodeproj/project.pbxproj +++ b/ios/TreecounterApp.xcodeproj/project.pbxproj @@ -7,28 +7,15 @@ objects = { /* Begin PBXBuildFile section */ - 00C302E51ABCBA2D00DB3ED1 /* libRCTActionSheet.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 00C302AC1ABCB8CE00DB3ED1 /* libRCTActionSheet.a */; }; - 00C302E71ABCBA2D00DB3ED1 /* libRCTGeolocation.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 00C302BA1ABCB90400DB3ED1 /* libRCTGeolocation.a */; }; - 00C302E81ABCBA2D00DB3ED1 /* libRCTImage.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 00C302C01ABCB91800DB3ED1 /* libRCTImage.a */; }; - 00C302E91ABCBA2D00DB3ED1 /* libRCTNetwork.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 00C302DC1ABCB9D200DB3ED1 /* libRCTNetwork.a */; }; - 00C302EA1ABCBA2D00DB3ED1 /* libRCTVibration.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 00C302E41ABCB9EE00DB3ED1 /* libRCTVibration.a */; }; 00E356F31AD99517003FC87E /* TreecounterAppTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 00E356F21AD99517003FC87E /* TreecounterAppTests.m */; }; 0EB7470C0E2D4D9C830D0815 /* libRNSVG.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3201A6B782ED44319C60E67A /* libRNSVG.a */; }; - 11D1A2F320CAFA9E000508D9 /* libRCTAnimation.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 5E9157331DD0AC6500FF2AA8 /* libRCTAnimation.a */; }; - 133E29F31AD74F7200F7D852 /* libRCTLinking.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 78C398B91ACF4ADC00677621 /* libRCTLinking.a */; }; - 139105C61AF99C1200B5F7CC /* libRCTSettings.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 139105C11AF99BAD00B5F7CC /* libRCTSettings.a */; }; - 139FDEF61B0652A700C62182 /* libRCTWebSocket.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 139FDEF41B06529B00C62182 /* libRCTWebSocket.a */; }; 13B07FBC1A68108700A75B9A /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB01A68108700A75B9A /* AppDelegate.m */; }; 13B07FBD1A68108700A75B9A /* LaunchScreen.xib in Resources */ = {isa = PBXBuildFile; fileRef = 13B07FB11A68108700A75B9A /* LaunchScreen.xib */; }; 13B07FBF1A68108700A75B9A /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 13B07FB51A68108700A75B9A /* Images.xcassets */; }; 13B07FC11A68108700A75B9A /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB71A68108700A75B9A /* main.m */; }; - 140ED2AC1D01E1AD002B40FF /* libReact.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 146834041AC3E56700842450 /* libReact.a */; }; - 146834051AC3E58100842450 /* libReact.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 146834041AC3E56700842450 /* libReact.a */; }; - 2C8F34C31B124E3488C953FC /* libRNDeviceInfo.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 97330890E4854A29A227DA8F /* libRNDeviceInfo.a */; }; - 4894CBF8CB604D50BA80EDCD /* libRNImagePicker.a in Frameworks */ = {isa = PBXBuildFile; fileRef = DCAE250EEB984FC9AED7DA67 /* libRNImagePicker.a */; }; + 4ACD62B33202F604F709F145 /* libPods-TreecounterAppTests.a in Frameworks */ = {isa = PBXBuildFile; fileRef = A1675B8C2A43A952FF5AB301 /* libPods-TreecounterAppTests.a */; }; 5756BAFD954E4B71ADBE04D0 /* OpenSans-SemiBoldItalic.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 7E6219CAB4CD4570A7C98EB4 /* OpenSans-SemiBoldItalic.ttf */; }; 6120BA1189D14C56A8E8CF65 /* OpenSans-ExtraBoldItalic.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 79829B7B4E914185BF3BE7C5 /* OpenSans-ExtraBoldItalic.ttf */; }; - 61AFB09222DA619400C8AB49 /* libBVLinearGradient.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 61AFB06122DA615E00C8AB49 /* libBVLinearGradient.a */; }; 62E8C1EDE2C741239E916FB9 /* OpenSans-BoldItalic.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 3837E42AA9BD4A6A8B5261EA /* OpenSans-BoldItalic.ttf */; }; 6AFE9E9E21347CD4009D99E7 /* MobileCoreServices.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6AFE9E9521347CD2009D99E7 /* MobileCoreServices.framework */; }; 6AFE9E9F21347CD4009D99E7 /* AudioToolbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6AFE9E9621347CD2009D99E7 /* AudioToolbox.framework */; }; @@ -40,35 +27,14 @@ 6AFE9EA521347CD4009D99E7 /* Accelerate.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6AFE9E9C21347CD3009D99E7 /* Accelerate.framework */; }; 6AFE9EA621347CD4009D99E7 /* SystemConfiguration.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6AFE9E9D21347CD4009D99E7 /* SystemConfiguration.framework */; }; 6B0830F92318070200E64C6C /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 6B0830FB2318070200E64C6C /* InfoPlist.strings */; }; - 6B2765B0237AB510008542D2 /* RSKImageCropper.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6B2765AF237AB510008542D2 /* RSKImageCropper.framework */; }; - 6B2765B1237AB510008542D2 /* RSKImageCropper.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 6B2765AF237AB510008542D2 /* RSKImageCropper.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; - 6B2765EE237AB516008542D2 /* QBImagePicker.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6B2765ED237AB516008542D2 /* QBImagePicker.framework */; }; - 6B2765EF237AB516008542D2 /* QBImagePicker.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 6B2765ED237AB516008542D2 /* QBImagePicker.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; - 6B5104A623799D0C00F138E1 /* libRCTPdf.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 6B51048023799CE800F138E1 /* libRCTPdf.a */; }; - 6B5104AD23799D5D00F138E1 /* libRNFetchBlob.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 6B5104AC23799D5500F138E1 /* libRNFetchBlob.a */; }; - 6B5104B623799E1800F138E1 /* libimageCropPicker.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 6B5104B523799E0500F138E1 /* libimageCropPicker.a */; }; - 6B5104BD23799E9800F138E1 /* libRNDocumentPicker.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 6B5104BC23799E8B00F138E1 /* libRNDocumentPicker.a */; }; - 6B5104C723799F7200F138E1 /* libRNFS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 6B5104C423799F4E00F138E1 /* libRNFS.a */; }; - 6BAD875D237964A500D29A8B /* MaterialCommunityIcons.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 6BAD8729237964A400D29A8B /* MaterialCommunityIcons.ttf */; }; - 6BAD875E237964A500D29A8B /* FontAwesome.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 6BAD875C237964A500D29A8B /* FontAwesome.ttf */; }; - 6BAD87622379652300D29A8B /* FontAwesome5_Regular.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 6BAD875F2379652300D29A8B /* FontAwesome5_Regular.ttf */; }; - 6BAD87632379652300D29A8B /* FontAwesome5_Brands.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 6BAD87602379652300D29A8B /* FontAwesome5_Brands.ttf */; }; - 6BAD87642379652300D29A8B /* FontAwesome5_Solid.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 6BAD87612379652300D29A8B /* FontAwesome5_Solid.ttf */; }; - 6BAD87772379663200D29A8B /* libRNVectorIcons.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 6BAD8774237965DA00D29A8B /* libRNVectorIcons.a */; }; - 6BBD3E7C2320F6D7006D4AF9 /* libRCTYouTube.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3DD3AED2219DDA7400A3C284 /* libRCTYouTube.a */; }; - 6BEA4B95231EAA2500EC7B40 /* libBugsnagReactNative.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 6BBEA32F22A8FE4C00C6ADE1 /* libBugsnagReactNative.a */; }; 6BEA4B96231EAA4100EC7B40 /* libz.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = 6BBEA35E22A8FE8E00C6ADE1 /* libz.tbd */; }; - 6BFD3E72232FC6640067FAB8 /* libReactNativePermissions.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 6BFD3E6A232FC6480067FAB8 /* libReactNativePermissions.a */; }; - 6BFD3E7B232FC7690067FAB8 /* libRNCAsyncStorage.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 6BFD3E7A232FC7510067FAB8 /* libRNCAsyncStorage.a */; }; - 832341BD1AAA6AB300B99B32 /* libRCTText.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 832341B51AAA6A8300B99B32 /* libRCTText.a */; }; 891FA4A6378545F783E5B6A9 /* OpenSans-Light.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 4F0548F411A546C79D230135 /* OpenSans-Light.ttf */; }; + 8ACC91AFFE6318A76601338A /* libPods-TreecounterApp.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 1FB788A990B6096E606D96BC /* libPods-TreecounterApp.a */; }; 8E91A3D298D54668A81191C0 /* OpenSans-ExtraBold.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 16506A78B0404858BF1334D1 /* OpenSans-ExtraBold.ttf */; }; - 9611D816CE0841C4800607AE /* libRNI18n.a in Frameworks */ = {isa = PBXBuildFile; fileRef = D4D1DA4C5E3C45D2AE2F7D84 /* libRNI18n.a */; }; 96E3C6F17CE24BD5AFF45E7B /* OpenSans-Bold.ttf in Resources */ = {isa = PBXBuildFile; fileRef = B0362431F9D24179A7E9175E /* OpenSans-Bold.ttf */; }; - 975FF01AB89D4407832726D4 /* YTPlayerView-iframe-player.html in Resources */ = {isa = PBXBuildFile; fileRef = A2246746742C4D96B07F9DED /* YTPlayerView-iframe-player.html */; }; - ADBDB9381DFEBF1600ED6528 /* libRCTBlob.a in Frameworks */ = {isa = PBXBuildFile; fileRef = ADBDB9271DFEBF0700ED6528 /* libRCTBlob.a */; }; - BB1F6859F338DE5E37037F0D /* libPods-TreecounterApp.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 4BA37FA7F0664819083CDE0D /* libPods-TreecounterApp.a */; }; CC4F7F7D75BC4732BFC48125 /* OpenSans-LightItalic.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 27297A9DCCBB490BBB63C022 /* OpenSans-LightItalic.ttf */; }; + D7255D02238E939500796D26 /* libDoubleConversion.a in Frameworks */ = {isa = PBXBuildFile; fileRef = D7255D01238E939500796D26 /* libDoubleConversion.a */; }; + D7FDA9A3238F99A3005B6659 /* libBVLinearGradient.a in Frameworks */ = {isa = PBXBuildFile; fileRef = D7FDA9A2238F99A3005B6659 /* libBVLinearGradient.a */; }; EAE8BDB618174F13BB7DD398 /* OpenSans-SemiBold.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 4F6DFC7E814546FD8D7A8276 /* OpenSans-SemiBold.ttf */; }; ED297163215061F000B7C4FE /* JavaScriptCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = ED297162215061F000B7C4FE /* JavaScriptCore.framework */; }; FA70D9E8C5764BEE8D9A91FF /* OpenSans-RegularItalic.ttf in Resources */ = {isa = PBXBuildFile; fileRef = C297B0E8F9D447E9921BBBEC /* OpenSans-RegularItalic.ttf */; }; @@ -76,41 +42,6 @@ /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ - 00C302AB1ABCB8CE00DB3ED1 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 00C302A71ABCB8CE00DB3ED1 /* RCTActionSheet.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 134814201AA4EA6300B7C361; - remoteInfo = RCTActionSheet; - }; - 00C302B91ABCB90400DB3ED1 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 00C302B51ABCB90400DB3ED1 /* RCTGeolocation.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 134814201AA4EA6300B7C361; - remoteInfo = RCTGeolocation; - }; - 00C302BF1ABCB91800DB3ED1 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 00C302BB1ABCB91800DB3ED1 /* RCTImage.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 58B5115D1A9E6B3D00147676; - remoteInfo = RCTImage; - }; - 00C302DB1ABCB9D200DB3ED1 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 00C302D31ABCB9D200DB3ED1 /* RCTNetwork.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 58B511DB1A9E6C8500147676; - remoteInfo = RCTNetwork; - }; - 00C302E31ABCB9EE00DB3ED1 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 00C302DF1ABCB9EE00DB3ED1 /* RCTVibration.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 832C81801AAF6DEF007FA2F7; - remoteInfo = RCTVibration; - }; 00E356F41AD99517003FC87E /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = 83CBB9F71A601CBA00E9B192 /* Project object */; @@ -118,407 +49,13 @@ remoteGlobalIDString = 13B07F861A680F5B00A75B9A; remoteInfo = TreecounterApp; }; - 139105C01AF99BAD00B5F7CC /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 139105B61AF99BAD00B5F7CC /* RCTSettings.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 134814201AA4EA6300B7C361; - remoteInfo = RCTSettings; - }; - 139FDEF31B06529B00C62182 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 139FDEE61B06529A00C62182 /* RCTWebSocket.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 3C86DF461ADF2C930047B81A; - remoteInfo = RCTWebSocket; - }; - 146834031AC3E56700842450 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 83CBBA2E1A601D0E00E9B192; - remoteInfo = React; - }; - 2893043D2118C63E0040EA35 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 89B99FF6DA5446DBAC7466EB /* RNSVG.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 0CF68AC11AF0540F00FF9E5C; - remoteInfo = RNSVG; - }; - 2893043F2118C63E0040EA35 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 89B99FF6DA5446DBAC7466EB /* RNSVG.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = A361E7A31EB0C33D00646005; - remoteInfo = "RNSVG-tvOS"; - }; - 2D16E6711FA4F8DC00B85C8A /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = ADBDB91F1DFEBF0600ED6528 /* RCTBlob.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = ADD01A681E09402E00F6D226; - remoteInfo = "RCTBlob-tvOS"; - }; - 2D16E6831FA4F8DC00B85C8A /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 139FDEE61B06529A00C62182 /* RCTWebSocket.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 3DBE0D001F3B181A0099AA32; - remoteInfo = fishhook; - }; - 2D16E6851FA4F8DC00B85C8A /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 139FDEE61B06529A00C62182 /* RCTWebSocket.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 3DBE0D0D1F3B181C0099AA32; - remoteInfo = "fishhook-tvOS"; - }; - 2DF0FFDE2056DD460020B375 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = EBF21BDC1FC498900052F4D5; - remoteInfo = jsinspector; - }; - 2DF0FFE02056DD460020B375 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = EBF21BFA1FC4989A0052F4D5; - remoteInfo = "jsinspector-tvOS"; - }; - 2DF0FFE22056DD460020B375 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 139D7ECE1E25DB7D00323FB7; - remoteInfo = "third-party"; - }; - 2DF0FFE42056DD460020B375 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 3D383D3C1EBD27B6005632C8; - remoteInfo = "third-party-tvOS"; - }; - 2DF0FFE62056DD460020B375 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 139D7E881E25C6D100323FB7; - remoteInfo = "double-conversion"; - }; - 2DF0FFE82056DD460020B375 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 3D383D621EBD27B9005632C8; - remoteInfo = "double-conversion-tvOS"; - }; - 3DA879742120C33700873450 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 0480225B8DFA485EB2643B54 /* RNI18n.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 134814201AA4EA6300B7C361; - remoteInfo = RNI18n; - }; - 3DA879762120C33700873450 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 0480225B8DFA485EB2643B54 /* RNI18n.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 6476C4051EEAA69700B10F51; - remoteInfo = "RNI18n-tvOS"; - }; - 3DA879792120C33700873450 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = B00B7C628B80466990896C27 /* RNImagePicker.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 014A3B5C1C6CF33500B6D375; - remoteInfo = RNImagePicker; - }; - 3DAD3E831DF850E9000B6D8A /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 00C302BB1ABCB91800DB3ED1 /* RCTImage.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 2D2A283A1D9B042B00D4039D; - remoteInfo = "RCTImage-tvOS"; - }; - 3DAD3E871DF850E9000B6D8A /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 78C398B01ACF4ADC00677621 /* RCTLinking.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 2D2A28471D9B043800D4039D; - remoteInfo = "RCTLinking-tvOS"; - }; - 3DAD3E8B1DF850E9000B6D8A /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 00C302D31ABCB9D200DB3ED1 /* RCTNetwork.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 2D2A28541D9B044C00D4039D; - remoteInfo = "RCTNetwork-tvOS"; - }; - 3DAD3E8F1DF850E9000B6D8A /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 139105B61AF99BAD00B5F7CC /* RCTSettings.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 2D2A28611D9B046600D4039D; - remoteInfo = "RCTSettings-tvOS"; - }; - 3DAD3E931DF850E9000B6D8A /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 832341B01AAA6A8300B99B32 /* RCTText.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 2D2A287B1D9B048500D4039D; - remoteInfo = "RCTText-tvOS"; - }; - 3DAD3E981DF850E9000B6D8A /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 139FDEE61B06529A00C62182 /* RCTWebSocket.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 2D2A28881D9B049200D4039D; - remoteInfo = "RCTWebSocket-tvOS"; - }; - 3DAD3EA21DF850E9000B6D8A /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 2D2A28131D9B038B00D4039D; - remoteInfo = "React-tvOS"; - }; - 3DAD3EA41DF850E9000B6D8A /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 3D3C059A1DE3340900C268FA; - remoteInfo = yoga; - }; - 3DAD3EA61DF850E9000B6D8A /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 3D3C06751DE3340C00C268FA; - remoteInfo = "yoga-tvOS"; - }; - 3DAD3EA81DF850E9000B6D8A /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 3D3CD9251DE5FBEC00167DC4; - remoteInfo = cxxreact; - }; - 3DAD3EAA1DF850E9000B6D8A /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 3D3CD9321DE5FBEE00167DC4; - remoteInfo = "cxxreact-tvOS"; - }; - 3DD3AED1219DDA7400A3C284 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 285911AE056F46B5A0B5B321 /* RCTYouTube.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 8BDB9BC91B4289AE00EF9FEF; - remoteInfo = RCTYouTube; - }; - 5E9157321DD0AC6500FF2AA8 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 5E91572D1DD0AC6500FF2AA8 /* RCTAnimation.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 134814201AA4EA6300B7C361; - remoteInfo = RCTAnimation; - }; - 5E9157341DD0AC6500FF2AA8 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 5E91572D1DD0AC6500FF2AA8 /* RCTAnimation.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 2D2A28201D9B03D100D4039D; - remoteInfo = "RCTAnimation-tvOS"; - }; - 61AFB06022DA615E00C8AB49 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 61AFB05A22DA615E00C8AB49 /* BVLinearGradient.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 134814201AA4EA6300B7C361; - remoteInfo = BVLinearGradient; - }; - 61AFB06222DA615E00C8AB49 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 61AFB05A22DA615E00C8AB49 /* BVLinearGradient.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 64AA15081EF7F30100718508; - remoteInfo = "BVLinearGradient-tvOS"; - }; - 61E09B6D213A883D00A88BDE /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 9EB2B8202FEC48FAAC36DFDD /* RNDeviceInfo.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = DA5891D81BA9A9FC002B4DB2; - remoteInfo = RNDeviceInfo; - }; - 61E09B6F213A883D00A88BDE /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 9EB2B8202FEC48FAAC36DFDD /* RNDeviceInfo.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = E72EC1401F7ABB5A0001BC90; - remoteInfo = "RNDeviceInfo-tvOS"; - }; - 6B489FDA22C215FE00479D20 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = EDEBC6D6214B3E7000DD5AC8; - remoteInfo = jsi; - }; - 6B489FDC22C215FE00479D20 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = EDEBC73B214B45A300DD5AC8; - remoteInfo = jsiexecutor; - }; - 6B489FDE22C215FE00479D20 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = ED296FB6214C9A0900B7C4FE; - remoteInfo = "jsi-tvOS"; - }; - 6B489FE022C215FE00479D20 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = ED296FEE214C9CF800B7C4FE; - remoteInfo = "jsiexecutor-tvOS"; - }; - 6B51047F23799CE800F138E1 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 6B51046C23799CE800F138E1 /* RCTPdf.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 20D8E03F1C8E946C00039823; - remoteInfo = RCTPdf; - }; - 6B5104AB23799D5500F138E1 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 6B5104A723799D5500F138E1 /* RNFetchBlob.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = A15C300E1CD25C330074CB35; - remoteInfo = RNFetchBlob; - }; - 6B5104B423799E0500F138E1 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 6B5104AE23799E0500F138E1 /* imageCropPicker.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 3400A8081CEB54A6008A0BC7; - remoteInfo = imageCropPicker; - }; - 6B5104BB23799E8B00F138E1 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 6B5104B723799E8A00F138E1 /* RNDocumentPicker.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = E01DD9DB1D2311A600C39062; - remoteInfo = RNDocumentPicker; - }; - 6B5104C323799F4E00F138E1 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 6B5104BE23799F4E00F138E1 /* RNFS.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = F12AFB9B1ADAF8F800E0535D; - remoteInfo = RNFS; - }; - 6B5104C523799F4E00F138E1 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 6B5104BE23799F4E00F138E1 /* RNFS.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 6456441F1EB8DA9100672408; - remoteInfo = "RNFS-tvOS"; - }; - 6BAD8773237965DA00D29A8B /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 6BAD876E237965DA00D29A8B /* RNVectorIcons.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 5DBEB1501B18CEA900B34395; - remoteInfo = RNVectorIcons; - }; - 6BAD8775237965DA00D29A8B /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 6BAD876E237965DA00D29A8B /* RNVectorIcons.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = A39873CE1EA65EE60051E01A; - remoteInfo = "RNVectorIcons-tvOS"; - }; - 6BBEA32E22A8FE4C00C6ADE1 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 6BBEA32822A8FE4C00C6ADE1 /* BugsnagReactNative.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 8AD256131D6DE5F600C7D842; - remoteInfo = BugsnagReactNative; - }; - 6BFD3E69232FC6480067FAB8 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 6BFD3E3C232FC6480067FAB8 /* ReactNativePermissions.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 9D23B34F1C767B80008B4819; - remoteInfo = ReactNativePermissions; - }; - 6BFD3E79232FC7510067FAB8 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 6BFD3E73232FC7500067FAB8 /* RNCAsyncStorage.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 134814201AA4EA6300B7C361; - remoteInfo = RNCAsyncStorage; - }; - 78C398B81ACF4ADC00677621 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 78C398B01ACF4ADC00677621 /* RCTLinking.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 134814201AA4EA6300B7C361; - remoteInfo = RCTLinking; - }; - 832341B41AAA6A8300B99B32 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 832341B01AAA6A8300B99B32 /* RCTText.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 58B5119B1A9E6C1200147676; - remoteInfo = RCTText; - }; - ADBDB9261DFEBF0700ED6528 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = ADBDB91F1DFEBF0600ED6528 /* RCTBlob.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 358F4ED71D1E81A9004DF814; - remoteInfo = RCTBlob; - }; /* End PBXContainerItemProxy section */ -/* Begin PBXCopyFilesBuildPhase section */ - 6B2765B2237AB510008542D2 /* Embed Frameworks */ = { - isa = PBXCopyFilesBuildPhase; - buildActionMask = 2147483647; - dstPath = ""; - dstSubfolderSpec = 10; - files = ( - 6B2765B1237AB510008542D2 /* RSKImageCropper.framework in Embed Frameworks */, - 6B2765EF237AB516008542D2 /* QBImagePicker.framework in Embed Frameworks */, - ); - name = "Embed Frameworks"; - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXCopyFilesBuildPhase section */ - /* Begin PBXFileReference section */ 008F07F21AC5B25A0029DE68 /* main.jsbundle */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = main.jsbundle; sourceTree = ""; }; - 00C302A71ABCB8CE00DB3ED1 /* RCTActionSheet.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTActionSheet.xcodeproj; path = "../node_modules/react-native/Libraries/ActionSheetIOS/RCTActionSheet.xcodeproj"; sourceTree = ""; }; - 00C302B51ABCB90400DB3ED1 /* RCTGeolocation.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTGeolocation.xcodeproj; path = "../node_modules/react-native/Libraries/Geolocation/RCTGeolocation.xcodeproj"; sourceTree = ""; }; - 00C302BB1ABCB91800DB3ED1 /* RCTImage.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTImage.xcodeproj; path = "../node_modules/react-native/Libraries/Image/RCTImage.xcodeproj"; sourceTree = ""; }; - 00C302D31ABCB9D200DB3ED1 /* RCTNetwork.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTNetwork.xcodeproj; path = "../node_modules/react-native/Libraries/Network/RCTNetwork.xcodeproj"; sourceTree = ""; }; - 00C302DF1ABCB9EE00DB3ED1 /* RCTVibration.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTVibration.xcodeproj; path = "../node_modules/react-native/Libraries/Vibration/RCTVibration.xcodeproj"; sourceTree = ""; }; 00E356EE1AD99517003FC87E /* TreecounterAppTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = TreecounterAppTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; 00E356F11AD99517003FC87E /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 00E356F21AD99517003FC87E /* TreecounterAppTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = TreecounterAppTests.m; sourceTree = ""; }; - 0480225B8DFA485EB2643B54 /* RNI18n.xcodeproj */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = "wrapper.pb-project"; name = RNI18n.xcodeproj; path = "../node_modules/react-native-i18n/ios/RNI18n.xcodeproj"; sourceTree = ""; }; - 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 /* TreecounterApp.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = TreecounterApp.app; sourceTree = BUILT_PRODUCTS_DIR; }; 13B07FAF1A68108700A75B9A /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AppDelegate.h; path = TreecounterApp/AppDelegate.h; sourceTree = ""; }; 13B07FB01A68108700A75B9A /* AppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = AppDelegate.m; path = TreecounterApp/AppDelegate.m; sourceTree = ""; }; @@ -526,20 +63,17 @@ 13B07FB51A68108700A75B9A /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Images.xcassets; path = TreecounterApp/Images.xcassets; sourceTree = ""; }; 13B07FB61A68108700A75B9A /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = Info.plist; path = TreecounterApp/Info.plist; sourceTree = ""; }; 13B07FB71A68108700A75B9A /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = main.m; path = TreecounterApp/main.m; sourceTree = ""; }; - 146833FF1AC3E56700842450 /* React.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = React.xcodeproj; path = "../node_modules/react-native/React/React.xcodeproj"; sourceTree = ""; }; + 15B1623C7B08933A527F5F80 /* Pods-TreecounterApp.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-TreecounterApp.release.xcconfig"; path = "Target Support Files/Pods-TreecounterApp/Pods-TreecounterApp.release.xcconfig"; sourceTree = ""; }; 16506A78B0404858BF1334D1 /* OpenSans-ExtraBold.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = "OpenSans-ExtraBold.ttf"; path = "../app/assets/fonts/OpenSans-ExtraBold.ttf"; sourceTree = ""; }; + 1FB788A990B6096E606D96BC /* libPods-TreecounterApp.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-TreecounterApp.a"; sourceTree = BUILT_PRODUCTS_DIR; }; 27297A9DCCBB490BBB63C022 /* OpenSans-LightItalic.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = "OpenSans-LightItalic.ttf"; path = "../app/assets/fonts/OpenSans-LightItalic.ttf"; sourceTree = ""; }; - 285911AE056F46B5A0B5B321 /* RCTYouTube.xcodeproj */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = "wrapper.pb-project"; name = RCTYouTube.xcodeproj; path = "../node_modules/react-native-youtube/RCTYouTube.xcodeproj"; sourceTree = ""; }; 2D16E6891FA4F8E400B85C8A /* libReact.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; path = libReact.a; sourceTree = BUILT_PRODUCTS_DIR; }; 3201A6B782ED44319C60E67A /* libRNSVG.a */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = archive.ar; path = libRNSVG.a; sourceTree = ""; }; + 3230EB4DC3218D5EAE882632 /* Pods-TreecounterApp.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-TreecounterApp.debug.xcconfig"; path = "Target Support Files/Pods-TreecounterApp/Pods-TreecounterApp.debug.xcconfig"; sourceTree = ""; }; 3837E42AA9BD4A6A8B5261EA /* OpenSans-BoldItalic.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = "OpenSans-BoldItalic.ttf"; path = "../app/assets/fonts/OpenSans-BoldItalic.ttf"; sourceTree = ""; }; - 3989C278591C4DE98BFCE554 /* libRNDeviceInfo-tvOS.a */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = archive.ar; path = "libRNDeviceInfo-tvOS.a"; sourceTree = ""; }; 3D0B42B6219EF222005029F2 /* TreecounterApp.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; name = TreecounterApp.entitlements; path = TreecounterApp/TreecounterApp.entitlements; sourceTree = ""; }; - 4BA37FA7F0664819083CDE0D /* libPods-TreecounterApp.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-TreecounterApp.a"; sourceTree = BUILT_PRODUCTS_DIR; }; 4F0548F411A546C79D230135 /* OpenSans-Light.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = "OpenSans-Light.ttf"; path = "../app/assets/fonts/OpenSans-Light.ttf"; sourceTree = ""; }; 4F6DFC7E814546FD8D7A8276 /* OpenSans-SemiBold.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = "OpenSans-SemiBold.ttf"; path = "../app/assets/fonts/OpenSans-SemiBold.ttf"; sourceTree = ""; }; - 5E91572D1DD0AC6500FF2AA8 /* RCTAnimation.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTAnimation.xcodeproj; path = "../node_modules/react-native/Libraries/NativeAnimation/RCTAnimation.xcodeproj"; sourceTree = ""; }; - 61AFB05A22DA615E00C8AB49 /* BVLinearGradient.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = BVLinearGradient.xcodeproj; path = "../node_modules/react-native-linear-gradient/BVLinearGradient.xcodeproj"; sourceTree = ""; }; 6566C36D92C74EBEA541DC9C /* libRNSVG-tvOS.a */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = archive.ar; path = "libRNSVG-tvOS.a"; sourceTree = ""; }; 6AFE9E9521347CD2009D99E7 /* MobileCoreServices.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MobileCoreServices.framework; path = System/Library/Frameworks/MobileCoreServices.framework; sourceTree = SDKROOT; }; 6AFE9E9621347CD2009D99E7 /* AudioToolbox.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioToolbox.framework; path = System/Library/Frameworks/AudioToolbox.framework; sourceTree = SDKROOT; }; @@ -552,42 +86,20 @@ 6AFE9E9D21347CD4009D99E7 /* SystemConfiguration.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SystemConfiguration.framework; path = System/Library/Frameworks/SystemConfiguration.framework; sourceTree = SDKROOT; }; 6B0830F8231806E700E64C6C /* de */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = de; path = de.lproj/LaunchScreen.strings; sourceTree = ""; }; 6B0830FC2318070700E64C6C /* de */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = de; path = de.lproj/InfoPlist.strings; sourceTree = ""; }; - 6B2765AF237AB510008542D2 /* RSKImageCropper.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = RSKImageCropper.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 6B2765ED237AB516008542D2 /* QBImagePicker.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = QBImagePicker.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 6B51046C23799CE800F138E1 /* RCTPdf.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTPdf.xcodeproj; path = "../node_modules/react-native-pdf/ios/RCTPdf.xcodeproj"; sourceTree = ""; }; - 6B5104A723799D5500F138E1 /* RNFetchBlob.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RNFetchBlob.xcodeproj; path = "../node_modules/rn-fetch-blob/ios/RNFetchBlob.xcodeproj"; sourceTree = ""; }; - 6B5104AE23799E0500F138E1 /* imageCropPicker.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = imageCropPicker.xcodeproj; path = "../node_modules/react-native-image-crop-picker/ios/imageCropPicker.xcodeproj"; sourceTree = ""; }; - 6B5104B723799E8A00F138E1 /* RNDocumentPicker.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RNDocumentPicker.xcodeproj; path = "../node_modules/react-native-document-picker/ios/RNDocumentPicker.xcodeproj"; sourceTree = ""; }; - 6B5104BE23799F4E00F138E1 /* RNFS.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RNFS.xcodeproj; path = "../node_modules/react-native-fs/RNFS.xcodeproj"; sourceTree = ""; }; - 6BAD8729237964A400D29A8B /* MaterialCommunityIcons.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; name = MaterialCommunityIcons.ttf; path = "../node_modules/react-native-vector-icons/Fonts/MaterialCommunityIcons.ttf"; sourceTree = ""; }; - 6BAD875C237964A500D29A8B /* FontAwesome.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; name = FontAwesome.ttf; path = "../node_modules/react-native-vector-icons/Fonts/FontAwesome.ttf"; sourceTree = ""; }; - 6BAD875F2379652300D29A8B /* FontAwesome5_Regular.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; name = FontAwesome5_Regular.ttf; path = "../node_modules/react-native-vector-icons/Fonts/FontAwesome5_Regular.ttf"; sourceTree = ""; }; - 6BAD87602379652300D29A8B /* FontAwesome5_Brands.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; name = FontAwesome5_Brands.ttf; path = "../node_modules/react-native-vector-icons/Fonts/FontAwesome5_Brands.ttf"; sourceTree = ""; }; - 6BAD87612379652300D29A8B /* FontAwesome5_Solid.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; name = FontAwesome5_Solid.ttf; path = "../node_modules/react-native-vector-icons/Fonts/FontAwesome5_Solid.ttf"; sourceTree = ""; }; - 6BAD876E237965DA00D29A8B /* RNVectorIcons.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RNVectorIcons.xcodeproj; path = "/Users/norbertschuler/Development/PFTP/treecounter-app/node_modules/react-native-youtube/../react-native-vector-icons/RNVectorIcons.xcodeproj"; sourceTree = ""; }; - 6BBEA32822A8FE4C00C6ADE1 /* BugsnagReactNative.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = BugsnagReactNative.xcodeproj; path = "../node_modules/bugsnag-react-native/cocoa/BugsnagReactNative.xcodeproj"; sourceTree = ""; }; 6BBEA35E22A8FE8E00C6ADE1 /* libz.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = libz.tbd; path = usr/lib/libz.tbd; sourceTree = SDKROOT; }; - 6BFD3E3C232FC6480067FAB8 /* ReactNativePermissions.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = ReactNativePermissions.xcodeproj; path = "../node_modules/react-native-permissions/ios/ReactNativePermissions.xcodeproj"; sourceTree = ""; }; - 6BFD3E73232FC7500067FAB8 /* RNCAsyncStorage.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RNCAsyncStorage.xcodeproj; path = "../node_modules/@react-native-community/async-storage/ios/RNCAsyncStorage.xcodeproj"; sourceTree = ""; }; - 78C398B01ACF4ADC00677621 /* RCTLinking.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTLinking.xcodeproj; path = "../node_modules/react-native/Libraries/LinkingIOS/RCTLinking.xcodeproj"; sourceTree = ""; }; 79829B7B4E914185BF3BE7C5 /* OpenSans-ExtraBoldItalic.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = "OpenSans-ExtraBoldItalic.ttf"; path = "../app/assets/fonts/OpenSans-ExtraBoldItalic.ttf"; sourceTree = ""; }; 7E6219CAB4CD4570A7C98EB4 /* OpenSans-SemiBoldItalic.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = "OpenSans-SemiBoldItalic.ttf"; path = "../app/assets/fonts/OpenSans-SemiBoldItalic.ttf"; sourceTree = ""; }; - 832341B01AAA6A8300B99B32 /* RCTText.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTText.xcodeproj; path = "../node_modules/react-native/Libraries/Text/RCTText.xcodeproj"; sourceTree = ""; }; - 89A722A784204BEBA3255D0A /* libRNI18n-tvOS.a */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = archive.ar; path = "libRNI18n-tvOS.a"; sourceTree = ""; }; - 89B99FF6DA5446DBAC7466EB /* RNSVG.xcodeproj */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = "wrapper.pb-project"; name = RNSVG.xcodeproj; path = "../node_modules/react-native-svg/ios/RNSVG.xcodeproj"; sourceTree = ""; }; - 97330890E4854A29A227DA8F /* libRNDeviceInfo.a */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = archive.ar; path = libRNDeviceInfo.a; sourceTree = ""; }; - 9EB2B8202FEC48FAAC36DFDD /* RNDeviceInfo.xcodeproj */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = "wrapper.pb-project"; name = RNDeviceInfo.xcodeproj; path = "../node_modules/react-native-device-info/ios/RNDeviceInfo.xcodeproj"; sourceTree = ""; }; - A2246746742C4D96B07F9DED /* YTPlayerView-iframe-player.html */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = "YTPlayerView-iframe-player.html"; path = "../node_modules/react-native-youtube/assets/YTPlayerView-iframe-player.html"; sourceTree = ""; }; - ADBDB91F1DFEBF0600ED6528 /* RCTBlob.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTBlob.xcodeproj; path = "../node_modules/react-native/Libraries/Blob/RCTBlob.xcodeproj"; sourceTree = ""; }; - B00B7C628B80466990896C27 /* RNImagePicker.xcodeproj */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = "wrapper.pb-project"; name = RNImagePicker.xcodeproj; path = "../node_modules/react-native-image-picker/ios/RNImagePicker.xcodeproj"; sourceTree = ""; }; + A1675B8C2A43A952FF5AB301 /* libPods-TreecounterAppTests.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-TreecounterAppTests.a"; sourceTree = BUILT_PRODUCTS_DIR; }; + AB2EE13037689C7256B81209 /* Pods-TreecounterAppTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-TreecounterAppTests.release.xcconfig"; path = "Target Support Files/Pods-TreecounterAppTests/Pods-TreecounterAppTests.release.xcconfig"; sourceTree = ""; }; B0362431F9D24179A7E9175E /* OpenSans-Bold.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = "OpenSans-Bold.ttf"; path = "../app/assets/fonts/OpenSans-Bold.ttf"; sourceTree = ""; }; + BC7F0BAD37D9C712136B3914 /* Pods-TreecounterAppTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-TreecounterAppTests.debug.xcconfig"; path = "Target Support Files/Pods-TreecounterAppTests/Pods-TreecounterAppTests.debug.xcconfig"; sourceTree = ""; }; C297B0E8F9D447E9921BBBEC /* OpenSans-RegularItalic.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = "OpenSans-RegularItalic.ttf"; path = "../app/assets/fonts/OpenSans-RegularItalic.ttf"; sourceTree = ""; }; - CC0D9295844346DF8D1F218B /* libRCTYouTube.a */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = archive.ar; path = libRCTYouTube.a; sourceTree = ""; }; CED59F86B5B44DAAB29EF987 /* OpenSans-Regular.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = "OpenSans-Regular.ttf"; path = "../app/assets/fonts/OpenSans-Regular.ttf"; sourceTree = ""; }; - D4D1DA4C5E3C45D2AE2F7D84 /* libRNI18n.a */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = archive.ar; path = libRNI18n.a; sourceTree = ""; }; - DCAE250EEB984FC9AED7DA67 /* libRNImagePicker.a */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = archive.ar; path = libRNImagePicker.a; sourceTree = ""; }; - E24F6C6563C2BB135CD0C89E /* Pods-TreecounterApp.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-TreecounterApp.debug.xcconfig"; path = "Pods/Target Support Files/Pods-TreecounterApp/Pods-TreecounterApp.debug.xcconfig"; sourceTree = ""; }; - E4D7143072CD49B163C98319 /* Pods-TreecounterApp.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-TreecounterApp.release.xcconfig"; path = "Pods/Target Support Files/Pods-TreecounterApp/Pods-TreecounterApp.release.xcconfig"; sourceTree = ""; }; + D7255D01238E939500796D26 /* libDoubleConversion.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; path = libDoubleConversion.a; sourceTree = BUILT_PRODUCTS_DIR; }; + D77CC704238F843500000A58 /* libBVLinearGradient.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; path = libBVLinearGradient.a; sourceTree = BUILT_PRODUCTS_DIR; }; + D7FDA9A2238F99A3005B6659 /* libBVLinearGradient.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; path = libBVLinearGradient.a; sourceTree = BUILT_PRODUCTS_DIR; }; + D7FE7EAE238F8F5800A0F794 /* libBVLinearGradient.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; path = libBVLinearGradient.a; sourceTree = BUILT_PRODUCTS_DIR; }; + D7FE7ED4238F911700A0F794 /* libBVLinearGradient.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; path = libBVLinearGradient.a; sourceTree = BUILT_PRODUCTS_DIR; }; ED297162215061F000B7C4FE /* JavaScriptCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = JavaScriptCore.framework; path = System/Library/Frameworks/JavaScriptCore.framework; sourceTree = SDKROOT; }; ED2971642150620600B7C4FE /* JavaScriptCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = JavaScriptCore.framework; path = Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS12.0.sdk/System/Library/Frameworks/JavaScriptCore.framework; sourceTree = DEVELOPER_DIR; }; /* End PBXFileReference section */ @@ -597,7 +109,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 140ED2AC1D01E1AD002B40FF /* libReact.a in Frameworks */, + 4ACD62B33202F604F709F145 /* libPods-TreecounterAppTests.a in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -605,95 +117,27 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 6BFD3E7B232FC7690067FAB8 /* libRNCAsyncStorage.a in Frameworks */, - 6BFD3E72232FC6640067FAB8 /* libReactNativePermissions.a in Frameworks */, + D7FDA9A3238F99A3005B6659 /* libBVLinearGradient.a in Frameworks */, + D7255D02238E939500796D26 /* libDoubleConversion.a in Frameworks */, 6BEA4B96231EAA4100EC7B40 /* libz.tbd in Frameworks */, - 6BBD3E7C2320F6D7006D4AF9 /* libRCTYouTube.a in Frameworks */, - 6BEA4B95231EAA2500EC7B40 /* libBugsnagReactNative.a in Frameworks */, - 61AFB09222DA619400C8AB49 /* libBVLinearGradient.a in Frameworks */, - 6B5104BD23799E9800F138E1 /* libRNDocumentPicker.a in Frameworks */, 6AFE9E9E21347CD4009D99E7 /* MobileCoreServices.framework in Frameworks */, 6AFE9E9F21347CD4009D99E7 /* AudioToolbox.framework in Frameworks */, 6AFE9EA021347CD4009D99E7 /* AVFoundation.framework in Frameworks */, - 6B2765EE237AB516008542D2 /* QBImagePicker.framework in Frameworks */, - 6B5104B623799E1800F138E1 /* libimageCropPicker.a in Frameworks */, - 6B2765B0237AB510008542D2 /* RSKImageCropper.framework in Frameworks */, 6AFE9EA121347CD4009D99E7 /* CoreLocation.framework in Frameworks */, 6AFE9EA221347CD4009D99E7 /* CoreMedia.framework in Frameworks */, 6AFE9EA321347CD4009D99E7 /* MessageUI.framework in Frameworks */, 6AFE9EA421347CD4009D99E7 /* SafariServices.framework in Frameworks */, - 6B5104A623799D0C00F138E1 /* libRCTPdf.a in Frameworks */, 6AFE9EA521347CD4009D99E7 /* Accelerate.framework in Frameworks */, 6AFE9EA621347CD4009D99E7 /* SystemConfiguration.framework in Frameworks */, ED297163215061F000B7C4FE /* JavaScriptCore.framework in Frameworks */, - ADBDB9381DFEBF1600ED6528 /* libRCTBlob.a in Frameworks */, - 6BAD87772379663200D29A8B /* libRNVectorIcons.a in Frameworks */, - 133E29F31AD74F7200F7D852 /* libRCTLinking.a in Frameworks */, - 11D1A2F320CAFA9E000508D9 /* libRCTAnimation.a in Frameworks */, - 146834051AC3E58100842450 /* libReact.a in Frameworks */, - 00C302E51ABCBA2D00DB3ED1 /* libRCTActionSheet.a in Frameworks */, - 00C302E71ABCBA2D00DB3ED1 /* libRCTGeolocation.a in Frameworks */, - 00C302E81ABCBA2D00DB3ED1 /* libRCTImage.a in Frameworks */, - 00C302E91ABCBA2D00DB3ED1 /* libRCTNetwork.a in Frameworks */, - 139105C61AF99C1200B5F7CC /* libRCTSettings.a in Frameworks */, - 832341BD1AAA6AB300B99B32 /* libRCTText.a in Frameworks */, - 00C302EA1ABCBA2D00DB3ED1 /* libRCTVibration.a in Frameworks */, - 139FDEF61B0652A700C62182 /* libRCTWebSocket.a in Frameworks */, 0EB7470C0E2D4D9C830D0815 /* libRNSVG.a in Frameworks */, - 9611D816CE0841C4800607AE /* libRNI18n.a in Frameworks */, - 4894CBF8CB604D50BA80EDCD /* libRNImagePicker.a in Frameworks */, - 2C8F34C31B124E3488C953FC /* libRNDeviceInfo.a in Frameworks */, - BB1F6859F338DE5E37037F0D /* libPods-TreecounterApp.a in Frameworks */, - 6B5104AD23799D5D00F138E1 /* libRNFetchBlob.a in Frameworks */, - 6B5104C723799F7200F138E1 /* libRNFS.a in Frameworks */, + 8ACC91AFFE6318A76601338A /* libPods-TreecounterApp.a in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ - 00C302A81ABCB8CE00DB3ED1 /* Products */ = { - isa = PBXGroup; - children = ( - 00C302AC1ABCB8CE00DB3ED1 /* libRCTActionSheet.a */, - ); - name = Products; - sourceTree = ""; - }; - 00C302B61ABCB90400DB3ED1 /* Products */ = { - isa = PBXGroup; - children = ( - 00C302BA1ABCB90400DB3ED1 /* libRCTGeolocation.a */, - ); - name = Products; - sourceTree = ""; - }; - 00C302BC1ABCB91800DB3ED1 /* Products */ = { - isa = PBXGroup; - children = ( - 00C302C01ABCB91800DB3ED1 /* libRCTImage.a */, - 3DAD3E841DF850E9000B6D8A /* libRCTImage-tvOS.a */, - ); - name = Products; - sourceTree = ""; - }; - 00C302D41ABCB9D200DB3ED1 /* Products */ = { - isa = PBXGroup; - children = ( - 00C302DC1ABCB9D200DB3ED1 /* libRCTNetwork.a */, - 3DAD3E8C1DF850E9000B6D8A /* libRCTNetwork-tvOS.a */, - ); - name = Products; - sourceTree = ""; - }; - 00C302E01ABCB9EE00DB3ED1 /* Products */ = { - isa = PBXGroup; - children = ( - 00C302E41ABCB9EE00DB3ED1 /* libRCTVibration.a */, - ); - name = Products; - sourceTree = ""; - }; 00E356EF1AD99517003FC87E /* TreecounterAppTests */ = { isa = PBXGroup; children = ( @@ -711,26 +155,6 @@ name = "Supporting Files"; sourceTree = ""; }; - 139105B71AF99BAD00B5F7CC /* Products */ = { - isa = PBXGroup; - children = ( - 139105C11AF99BAD00B5F7CC /* libRCTSettings.a */, - 3DAD3E901DF850E9000B6D8A /* libRCTSettings-tvOS.a */, - ); - name = Products; - sourceTree = ""; - }; - 139FDEE71B06529A00C62182 /* Products */ = { - isa = PBXGroup; - children = ( - 139FDEF41B06529B00C62182 /* libRCTWebSocket.a */, - 3DAD3E991DF850E9000B6D8A /* libRCTWebSocket-tvOS.a */, - 2D16E6841FA4F8DC00B85C8A /* libfishhook.a */, - 2D16E6861FA4F8DC00B85C8A /* libfishhook-tvOS.a */, - ); - name = Products; - sourceTree = ""; - }; 13B07FAE1A68108700A75B9A /* TreecounterApp */ = { isa = PBXGroup; children = ( @@ -747,58 +171,23 @@ name = TreecounterApp; sourceTree = ""; }; - 146834001AC3E56700842450 /* Products */ = { - isa = PBXGroup; - children = ( - 146834041AC3E56700842450 /* libReact.a */, - 3DAD3EA31DF850E9000B6D8A /* libReact.a */, - 3DAD3EA51DF850E9000B6D8A /* libyoga.a */, - 3DAD3EA71DF850E9000B6D8A /* libyoga.a */, - 3DAD3EA91DF850E9000B6D8A /* libcxxreact.a */, - 3DAD3EAB1DF850E9000B6D8A /* libcxxreact.a */, - 2DF0FFDF2056DD460020B375 /* libjsinspector.a */, - 2DF0FFE12056DD460020B375 /* libjsinspector-tvOS.a */, - 2DF0FFE32056DD460020B375 /* libthird-party.a */, - 2DF0FFE52056DD460020B375 /* libthird-party.a */, - 2DF0FFE72056DD460020B375 /* libdouble-conversion.a */, - 2DF0FFE92056DD460020B375 /* libdouble-conversion.a */, - 6B489FDB22C215FE00479D20 /* libjsi.a */, - 6B489FDD22C215FE00479D20 /* libjsiexecutor.a */, - 6B489FDF22C215FE00479D20 /* libjsi-tvOS.a */, - 6B489FE122C215FE00479D20 /* libjsiexecutor-tvOS.a */, - ); - name = Products; - sourceTree = ""; - }; 289304112118C6360040EA35 /* Recovered References */ = { isa = PBXGroup; children = ( 3201A6B782ED44319C60E67A /* libRNSVG.a */, 6566C36D92C74EBEA541DC9C /* libRNSVG-tvOS.a */, - D4D1DA4C5E3C45D2AE2F7D84 /* libRNI18n.a */, - DCAE250EEB984FC9AED7DA67 /* libRNImagePicker.a */, - 89A722A784204BEBA3255D0A /* libRNI18n-tvOS.a */, - 97330890E4854A29A227DA8F /* libRNDeviceInfo.a */, - 3989C278591C4DE98BFCE554 /* libRNDeviceInfo-tvOS.a */, - CC0D9295844346DF8D1F218B /* libRCTYouTube.a */, ); name = "Recovered References"; sourceTree = ""; }; - 289304392118C63D0040EA35 /* Products */ = { - isa = PBXGroup; - children = ( - 2893043E2118C63E0040EA35 /* libRNSVG.a */, - 289304402118C63E0040EA35 /* libRNSVG-tvOS.a */, - ); - name = Products; - sourceTree = ""; - }; 2D16E6871FA4F8E400B85C8A /* Frameworks */ = { isa = PBXGroup; children = ( - 6B2765ED237AB516008542D2 /* QBImagePicker.framework */, - 6B2765AF237AB510008542D2 /* RSKImageCropper.framework */, + D7FDA9A2238F99A3005B6659 /* libBVLinearGradient.a */, + D7FE7ED4238F911700A0F794 /* libBVLinearGradient.a */, + D7FE7EAE238F8F5800A0F794 /* libBVLinearGradient.a */, + D77CC704238F843500000A58 /* libBVLinearGradient.a */, + D7255D01238E939500796D26 /* libDoubleConversion.a */, ED297162215061F000B7C4FE /* JavaScriptCore.framework */, ED2971642150620600B7C4FE /* JavaScriptCore.framework */, 6BBEA35E22A8FE8E00C6ADE1 /* libz.tbd */, @@ -812,40 +201,15 @@ 6AFE9E9B21347CD3009D99E7 /* SafariServices.framework */, 6AFE9E9D21347CD4009D99E7 /* SystemConfiguration.framework */, 2D16E6891FA4F8E400B85C8A /* libReact.a */, - 4BA37FA7F0664819083CDE0D /* libPods-TreecounterApp.a */, + 1FB788A990B6096E606D96BC /* libPods-TreecounterApp.a */, + A1675B8C2A43A952FF5AB301 /* libPods-TreecounterAppTests.a */, ); name = Frameworks; sourceTree = ""; }; - 3DA8796E2120C33600873450 /* Products */ = { - isa = PBXGroup; - children = ( - 3DA879752120C33700873450 /* libRNI18n.a */, - 3DA879772120C33700873450 /* libRNI18n-tvOS.a */, - ); - name = Products; - sourceTree = ""; - }; - 3DA879702120C33600873450 /* Products */ = { - isa = PBXGroup; - children = ( - 3DA8797A2120C33700873450 /* libRNImagePicker.a */, - ); - name = Products; - sourceTree = ""; - }; - 3DD3AEB9219DDA7400A3C284 /* Products */ = { - isa = PBXGroup; - children = ( - 3DD3AED2219DDA7400A3C284 /* libRCTYouTube.a */, - ); - name = Products; - sourceTree = ""; - }; 3F4CD30F3B924BFBB1886DE0 /* Resources */ = { isa = PBXGroup; children = ( - A2246746742C4D96B07F9DED /* YTPlayerView-iframe-player.html */, B0362431F9D24179A7E9175E /* OpenSans-Bold.ttf */, 3837E42AA9BD4A6A8B5261EA /* OpenSans-BoldItalic.ttf */, 16506A78B0404858BF1334D1 /* OpenSans-ExtraBold.ttf */, @@ -856,168 +220,17 @@ C297B0E8F9D447E9921BBBEC /* OpenSans-RegularItalic.ttf */, 4F6DFC7E814546FD8D7A8276 /* OpenSans-SemiBold.ttf */, 7E6219CAB4CD4570A7C98EB4 /* OpenSans-SemiBoldItalic.ttf */, - 6BAD875C237964A500D29A8B /* FontAwesome.ttf */, - 6BAD87602379652300D29A8B /* FontAwesome5_Brands.ttf */, - 6BAD875F2379652300D29A8B /* FontAwesome5_Regular.ttf */, - 6BAD87612379652300D29A8B /* FontAwesome5_Solid.ttf */, - 6BAD8729237964A400D29A8B /* MaterialCommunityIcons.ttf */, ); name = Resources; sourceTree = ""; }; - 5E91572E1DD0AC6500FF2AA8 /* Products */ = { - isa = PBXGroup; - children = ( - 5E9157331DD0AC6500FF2AA8 /* libRCTAnimation.a */, - 5E9157351DD0AC6500FF2AA8 /* libRCTAnimation.a */, - ); - name = Products; - sourceTree = ""; - }; - 61AFB05B22DA615E00C8AB49 /* Products */ = { - isa = PBXGroup; - children = ( - 61AFB06122DA615E00C8AB49 /* libBVLinearGradient.a */, - 61AFB06322DA615E00C8AB49 /* libBVLinearGradient.a */, - ); - name = Products; - sourceTree = ""; - }; - 61E09B69213A883D00A88BDE /* Products */ = { - isa = PBXGroup; - children = ( - 61E09B6E213A883D00A88BDE /* libRNDeviceInfo.a */, - 61E09B70213A883D00A88BDE /* libRNDeviceInfo-tvOS.a */, - ); - name = Products; - sourceTree = ""; - }; - 6B51046D23799CE800F138E1 /* Products */ = { - isa = PBXGroup; - children = ( - 6B51048023799CE800F138E1 /* libRCTPdf.a */, - ); - name = Products; - sourceTree = ""; - }; - 6B5104A823799D5500F138E1 /* Products */ = { - isa = PBXGroup; - children = ( - 6B5104AC23799D5500F138E1 /* libRNFetchBlob.a */, - ); - name = Products; - sourceTree = ""; - }; - 6B5104AF23799E0500F138E1 /* Products */ = { - isa = PBXGroup; - children = ( - 6B5104B523799E0500F138E1 /* libimageCropPicker.a */, - ); - name = Products; - sourceTree = ""; - }; - 6B5104B823799E8A00F138E1 /* Products */ = { - isa = PBXGroup; - children = ( - 6B5104BC23799E8B00F138E1 /* libRNDocumentPicker.a */, - ); - name = Products; - sourceTree = ""; - }; - 6B5104BF23799F4E00F138E1 /* Products */ = { - isa = PBXGroup; - children = ( - 6B5104C423799F4E00F138E1 /* libRNFS.a */, - 6B5104C623799F4E00F138E1 /* libRNFS.a */, - ); - name = Products; - sourceTree = ""; - }; - 6BAD876F237965DA00D29A8B /* Products */ = { - isa = PBXGroup; - children = ( - 6BAD8774237965DA00D29A8B /* libRNVectorIcons.a */, - 6BAD8776237965DA00D29A8B /* libRNVectorIcons-tvOS.a */, - ); - name = Products; - sourceTree = ""; - }; - 6BBEA32922A8FE4C00C6ADE1 /* Products */ = { - isa = PBXGroup; - children = ( - 6BBEA32F22A8FE4C00C6ADE1 /* libBugsnagReactNative.a */, - ); - name = Products; - sourceTree = ""; - }; - 6BFD3E3D232FC6480067FAB8 /* Products */ = { - isa = PBXGroup; - children = ( - 6BFD3E6A232FC6480067FAB8 /* libReactNativePermissions.a */, - ); - name = Products; - sourceTree = ""; - }; - 6BFD3E74232FC7500067FAB8 /* Products */ = { - isa = PBXGroup; - children = ( - 6BFD3E7A232FC7510067FAB8 /* libRNCAsyncStorage.a */, - ); - name = Products; - sourceTree = ""; - }; - 78C398B11ACF4ADC00677621 /* Products */ = { - isa = PBXGroup; - children = ( - 78C398B91ACF4ADC00677621 /* libRCTLinking.a */, - 3DAD3E881DF850E9000B6D8A /* libRCTLinking-tvOS.a */, - ); - name = Products; - sourceTree = ""; - }; 832341AE1AAA6A7D00B99B32 /* Libraries */ = { isa = PBXGroup; children = ( - 6B5104AE23799E0500F138E1 /* imageCropPicker.xcodeproj */, - 6BFD3E73232FC7500067FAB8 /* RNCAsyncStorage.xcodeproj */, - 6BFD3E3C232FC6480067FAB8 /* ReactNativePermissions.xcodeproj */, - 61AFB05A22DA615E00C8AB49 /* BVLinearGradient.xcodeproj */, - 6B51046C23799CE800F138E1 /* RCTPdf.xcodeproj */, - 6B5104A723799D5500F138E1 /* RNFetchBlob.xcodeproj */, - 6BAD876E237965DA00D29A8B /* RNVectorIcons.xcodeproj */, - 6BBEA32822A8FE4C00C6ADE1 /* BugsnagReactNative.xcodeproj */, - 5E91572D1DD0AC6500FF2AA8 /* RCTAnimation.xcodeproj */, - 146833FF1AC3E56700842450 /* React.xcodeproj */, - 00C302A71ABCB8CE00DB3ED1 /* RCTActionSheet.xcodeproj */, - ADBDB91F1DFEBF0600ED6528 /* RCTBlob.xcodeproj */, - 00C302B51ABCB90400DB3ED1 /* RCTGeolocation.xcodeproj */, - 00C302BB1ABCB91800DB3ED1 /* RCTImage.xcodeproj */, - 78C398B01ACF4ADC00677621 /* RCTLinking.xcodeproj */, - 00C302D31ABCB9D200DB3ED1 /* RCTNetwork.xcodeproj */, - 139105B61AF99BAD00B5F7CC /* RCTSettings.xcodeproj */, - 832341B01AAA6A8300B99B32 /* RCTText.xcodeproj */, - 00C302DF1ABCB9EE00DB3ED1 /* RCTVibration.xcodeproj */, - 139FDEE61B06529A00C62182 /* RCTWebSocket.xcodeproj */, - 89B99FF6DA5446DBAC7466EB /* RNSVG.xcodeproj */, - 0480225B8DFA485EB2643B54 /* RNI18n.xcodeproj */, - 6B5104BE23799F4E00F138E1 /* RNFS.xcodeproj */, - B00B7C628B80466990896C27 /* RNImagePicker.xcodeproj */, - 6B5104B723799E8A00F138E1 /* RNDocumentPicker.xcodeproj */, - 9EB2B8202FEC48FAAC36DFDD /* RNDeviceInfo.xcodeproj */, - 285911AE056F46B5A0B5B321 /* RCTYouTube.xcodeproj */, ); name = Libraries; sourceTree = ""; }; - 832341B11AAA6A8300B99B32 /* Products */ = { - isa = PBXGroup; - children = ( - 832341B51AAA6A8300B99B32 /* libRCTText.a */, - 3DAD3E941DF850E9000B6D8A /* libRCTText-tvOS.a */, - ); - name = Products; - sourceTree = ""; - }; 83CBB9F61A601CBA00E9B192 = { isa = PBXGroup; children = ( @@ -1028,7 +241,7 @@ 2D16E6871FA4F8E400B85C8A /* Frameworks */, 289304112118C6360040EA35 /* Recovered References */, 3F4CD30F3B924BFBB1886DE0 /* Resources */, - AF58558156B74ACB48CD4D07 /* Pods */, + F55DCBB8603155AD8F34D73D /* Pods */, ); indentWidth = 2; sourceTree = ""; @@ -1044,22 +257,15 @@ name = Products; sourceTree = ""; }; - ADBDB9201DFEBF0600ED6528 /* Products */ = { - isa = PBXGroup; - children = ( - ADBDB9271DFEBF0700ED6528 /* libRCTBlob.a */, - 2D16E6721FA4F8DC00B85C8A /* libRCTBlob-tvOS.a */, - ); - name = Products; - sourceTree = ""; - }; - AF58558156B74ACB48CD4D07 /* Pods */ = { + F55DCBB8603155AD8F34D73D /* Pods */ = { isa = PBXGroup; children = ( - E24F6C6563C2BB135CD0C89E /* Pods-TreecounterApp.debug.xcconfig */, - E4D7143072CD49B163C98319 /* Pods-TreecounterApp.release.xcconfig */, + 3230EB4DC3218D5EAE882632 /* Pods-TreecounterApp.debug.xcconfig */, + 15B1623C7B08933A527F5F80 /* Pods-TreecounterApp.release.xcconfig */, + BC7F0BAD37D9C712136B3914 /* Pods-TreecounterAppTests.debug.xcconfig */, + AB2EE13037689C7256B81209 /* Pods-TreecounterAppTests.release.xcconfig */, ); - name = Pods; + path = Pods; sourceTree = ""; }; /* End PBXGroup section */ @@ -1069,6 +275,7 @@ isa = PBXNativeTarget; buildConfigurationList = 00E357021AD99517003FC87E /* Build configuration list for PBXNativeTarget "TreecounterAppTests" */; buildPhases = ( + 20DF6779D6EEB133BB34B7C1 /* [CP] Check Pods Manifest.lock */, 00E356EA1AD99517003FC87E /* Sources */, 00E356EB1AD99517003FC87E /* Frameworks */, 00E356EC1AD99517003FC87E /* Resources */, @@ -1087,12 +294,12 @@ isa = PBXNativeTarget; buildConfigurationList = 13B07F931A680F5B00A75B9A /* Build configuration list for PBXNativeTarget "TreecounterApp" */; buildPhases = ( - 023974FCBE357FFA52D1458D /* [CP] Check Pods Manifest.lock */, + 5F954B6E38514DCAC3C7BF4B /* [CP] Check Pods Manifest.lock */, 13B07F871A680F5B00A75B9A /* Sources */, 13B07F8C1A680F5B00A75B9A /* Frameworks */, 13B07F8E1A680F5B00A75B9A /* Resources */, 00DD1BFF1BD5951E006B06BC /* Bundle React Native code and images */, - 6B2765B2237AB510008542D2 /* Embed Frameworks */, + 5E8B53586B14428AAC789CE0 /* [CP] Copy Pods Resources */, ); buildRules = ( ); @@ -1140,116 +347,6 @@ mainGroup = 83CBB9F61A601CBA00E9B192; productRefGroup = 83CBBA001A601CBA00E9B192 /* Products */; projectDirPath = ""; - projectReferences = ( - { - ProductGroup = 6BBEA32922A8FE4C00C6ADE1 /* Products */; - ProjectRef = 6BBEA32822A8FE4C00C6ADE1 /* BugsnagReactNative.xcodeproj */; - }, - { - ProductGroup = 61AFB05B22DA615E00C8AB49 /* Products */; - ProjectRef = 61AFB05A22DA615E00C8AB49 /* BVLinearGradient.xcodeproj */; - }, - { - ProductGroup = 6B5104AF23799E0500F138E1 /* Products */; - ProjectRef = 6B5104AE23799E0500F138E1 /* imageCropPicker.xcodeproj */; - }, - { - ProductGroup = 00C302A81ABCB8CE00DB3ED1 /* Products */; - ProjectRef = 00C302A71ABCB8CE00DB3ED1 /* RCTActionSheet.xcodeproj */; - }, - { - ProductGroup = 5E91572E1DD0AC6500FF2AA8 /* Products */; - ProjectRef = 5E91572D1DD0AC6500FF2AA8 /* RCTAnimation.xcodeproj */; - }, - { - ProductGroup = ADBDB9201DFEBF0600ED6528 /* Products */; - ProjectRef = ADBDB91F1DFEBF0600ED6528 /* RCTBlob.xcodeproj */; - }, - { - ProductGroup = 00C302B61ABCB90400DB3ED1 /* Products */; - ProjectRef = 00C302B51ABCB90400DB3ED1 /* RCTGeolocation.xcodeproj */; - }, - { - ProductGroup = 00C302BC1ABCB91800DB3ED1 /* Products */; - ProjectRef = 00C302BB1ABCB91800DB3ED1 /* RCTImage.xcodeproj */; - }, - { - ProductGroup = 78C398B11ACF4ADC00677621 /* Products */; - ProjectRef = 78C398B01ACF4ADC00677621 /* RCTLinking.xcodeproj */; - }, - { - ProductGroup = 00C302D41ABCB9D200DB3ED1 /* Products */; - ProjectRef = 00C302D31ABCB9D200DB3ED1 /* RCTNetwork.xcodeproj */; - }, - { - ProductGroup = 6B51046D23799CE800F138E1 /* Products */; - ProjectRef = 6B51046C23799CE800F138E1 /* RCTPdf.xcodeproj */; - }, - { - ProductGroup = 139105B71AF99BAD00B5F7CC /* Products */; - ProjectRef = 139105B61AF99BAD00B5F7CC /* RCTSettings.xcodeproj */; - }, - { - ProductGroup = 832341B11AAA6A8300B99B32 /* Products */; - ProjectRef = 832341B01AAA6A8300B99B32 /* RCTText.xcodeproj */; - }, - { - ProductGroup = 00C302E01ABCB9EE00DB3ED1 /* Products */; - ProjectRef = 00C302DF1ABCB9EE00DB3ED1 /* RCTVibration.xcodeproj */; - }, - { - ProductGroup = 139FDEE71B06529A00C62182 /* Products */; - ProjectRef = 139FDEE61B06529A00C62182 /* RCTWebSocket.xcodeproj */; - }, - { - ProductGroup = 3DD3AEB9219DDA7400A3C284 /* Products */; - ProjectRef = 285911AE056F46B5A0B5B321 /* RCTYouTube.xcodeproj */; - }, - { - ProductGroup = 146834001AC3E56700842450 /* Products */; - ProjectRef = 146833FF1AC3E56700842450 /* React.xcodeproj */; - }, - { - ProductGroup = 6BFD3E3D232FC6480067FAB8 /* Products */; - ProjectRef = 6BFD3E3C232FC6480067FAB8 /* ReactNativePermissions.xcodeproj */; - }, - { - ProductGroup = 6BFD3E74232FC7500067FAB8 /* Products */; - ProjectRef = 6BFD3E73232FC7500067FAB8 /* RNCAsyncStorage.xcodeproj */; - }, - { - ProductGroup = 61E09B69213A883D00A88BDE /* Products */; - ProjectRef = 9EB2B8202FEC48FAAC36DFDD /* RNDeviceInfo.xcodeproj */; - }, - { - ProductGroup = 6B5104B823799E8A00F138E1 /* Products */; - ProjectRef = 6B5104B723799E8A00F138E1 /* RNDocumentPicker.xcodeproj */; - }, - { - ProductGroup = 6B5104A823799D5500F138E1 /* Products */; - ProjectRef = 6B5104A723799D5500F138E1 /* RNFetchBlob.xcodeproj */; - }, - { - ProductGroup = 6B5104BF23799F4E00F138E1 /* Products */; - ProjectRef = 6B5104BE23799F4E00F138E1 /* RNFS.xcodeproj */; - }, - { - ProductGroup = 3DA8796E2120C33600873450 /* Products */; - ProjectRef = 0480225B8DFA485EB2643B54 /* RNI18n.xcodeproj */; - }, - { - ProductGroup = 3DA879702120C33600873450 /* Products */; - ProjectRef = B00B7C628B80466990896C27 /* RNImagePicker.xcodeproj */; - }, - { - ProductGroup = 289304392118C63D0040EA35 /* Products */; - ProjectRef = 89B99FF6DA5446DBAC7466EB /* RNSVG.xcodeproj */; - }, - { - ProductGroup = 6BAD876F237965DA00D29A8B /* Products */; - ProjectRef = 6BAD876E237965DA00D29A8B /* RNVectorIcons.xcodeproj */; - }, - ); projectRoot = ""; targets = ( 13B07F861A680F5B00A75B9A /* TreecounterApp */, @@ -1258,415 +355,6 @@ }; /* End PBXProject section */ -/* Begin PBXReferenceProxy section */ - 00C302AC1ABCB8CE00DB3ED1 /* libRCTActionSheet.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = libRCTActionSheet.a; - remoteRef = 00C302AB1ABCB8CE00DB3ED1 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 00C302BA1ABCB90400DB3ED1 /* libRCTGeolocation.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = libRCTGeolocation.a; - remoteRef = 00C302B91ABCB90400DB3ED1 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 00C302C01ABCB91800DB3ED1 /* libRCTImage.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = libRCTImage.a; - remoteRef = 00C302BF1ABCB91800DB3ED1 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 00C302DC1ABCB9D200DB3ED1 /* libRCTNetwork.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = libRCTNetwork.a; - remoteRef = 00C302DB1ABCB9D200DB3ED1 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 00C302E41ABCB9EE00DB3ED1 /* libRCTVibration.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = libRCTVibration.a; - remoteRef = 00C302E31ABCB9EE00DB3ED1 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 139105C11AF99BAD00B5F7CC /* libRCTSettings.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = libRCTSettings.a; - remoteRef = 139105C01AF99BAD00B5F7CC /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 139FDEF41B06529B00C62182 /* libRCTWebSocket.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = libRCTWebSocket.a; - remoteRef = 139FDEF31B06529B00C62182 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 146834041AC3E56700842450 /* libReact.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = libReact.a; - remoteRef = 146834031AC3E56700842450 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 2893043E2118C63E0040EA35 /* libRNSVG.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = libRNSVG.a; - remoteRef = 2893043D2118C63E0040EA35 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 289304402118C63E0040EA35 /* libRNSVG-tvOS.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = "libRNSVG-tvOS.a"; - remoteRef = 2893043F2118C63E0040EA35 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 2D16E6721FA4F8DC00B85C8A /* libRCTBlob-tvOS.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = "libRCTBlob-tvOS.a"; - remoteRef = 2D16E6711FA4F8DC00B85C8A /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 2D16E6841FA4F8DC00B85C8A /* libfishhook.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = libfishhook.a; - remoteRef = 2D16E6831FA4F8DC00B85C8A /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 2D16E6861FA4F8DC00B85C8A /* libfishhook-tvOS.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = "libfishhook-tvOS.a"; - remoteRef = 2D16E6851FA4F8DC00B85C8A /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 2DF0FFDF2056DD460020B375 /* libjsinspector.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = libjsinspector.a; - remoteRef = 2DF0FFDE2056DD460020B375 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 2DF0FFE12056DD460020B375 /* libjsinspector-tvOS.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = "libjsinspector-tvOS.a"; - remoteRef = 2DF0FFE02056DD460020B375 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 2DF0FFE32056DD460020B375 /* libthird-party.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = "libthird-party.a"; - remoteRef = 2DF0FFE22056DD460020B375 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 2DF0FFE52056DD460020B375 /* libthird-party.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = "libthird-party.a"; - remoteRef = 2DF0FFE42056DD460020B375 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 2DF0FFE72056DD460020B375 /* libdouble-conversion.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = "libdouble-conversion.a"; - remoteRef = 2DF0FFE62056DD460020B375 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 2DF0FFE92056DD460020B375 /* libdouble-conversion.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = "libdouble-conversion.a"; - remoteRef = 2DF0FFE82056DD460020B375 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 3DA879752120C33700873450 /* libRNI18n.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = libRNI18n.a; - remoteRef = 3DA879742120C33700873450 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 3DA879772120C33700873450 /* libRNI18n-tvOS.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = "libRNI18n-tvOS.a"; - remoteRef = 3DA879762120C33700873450 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 3DA8797A2120C33700873450 /* libRNImagePicker.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = libRNImagePicker.a; - remoteRef = 3DA879792120C33700873450 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 3DAD3E841DF850E9000B6D8A /* libRCTImage-tvOS.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = "libRCTImage-tvOS.a"; - remoteRef = 3DAD3E831DF850E9000B6D8A /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 3DAD3E881DF850E9000B6D8A /* libRCTLinking-tvOS.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = "libRCTLinking-tvOS.a"; - remoteRef = 3DAD3E871DF850E9000B6D8A /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 3DAD3E8C1DF850E9000B6D8A /* libRCTNetwork-tvOS.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = "libRCTNetwork-tvOS.a"; - remoteRef = 3DAD3E8B1DF850E9000B6D8A /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 3DAD3E901DF850E9000B6D8A /* libRCTSettings-tvOS.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = "libRCTSettings-tvOS.a"; - remoteRef = 3DAD3E8F1DF850E9000B6D8A /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 3DAD3E941DF850E9000B6D8A /* libRCTText-tvOS.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = "libRCTText-tvOS.a"; - remoteRef = 3DAD3E931DF850E9000B6D8A /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 3DAD3E991DF850E9000B6D8A /* libRCTWebSocket-tvOS.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = "libRCTWebSocket-tvOS.a"; - remoteRef = 3DAD3E981DF850E9000B6D8A /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 3DAD3EA31DF850E9000B6D8A /* libReact.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = libReact.a; - remoteRef = 3DAD3EA21DF850E9000B6D8A /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 3DAD3EA51DF850E9000B6D8A /* libyoga.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = libyoga.a; - remoteRef = 3DAD3EA41DF850E9000B6D8A /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 3DAD3EA71DF850E9000B6D8A /* libyoga.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = libyoga.a; - remoteRef = 3DAD3EA61DF850E9000B6D8A /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 3DAD3EA91DF850E9000B6D8A /* libcxxreact.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = libcxxreact.a; - remoteRef = 3DAD3EA81DF850E9000B6D8A /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 3DAD3EAB1DF850E9000B6D8A /* libcxxreact.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = libcxxreact.a; - remoteRef = 3DAD3EAA1DF850E9000B6D8A /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 3DD3AED2219DDA7400A3C284 /* libRCTYouTube.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = libRCTYouTube.a; - remoteRef = 3DD3AED1219DDA7400A3C284 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 5E9157331DD0AC6500FF2AA8 /* libRCTAnimation.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = libRCTAnimation.a; - remoteRef = 5E9157321DD0AC6500FF2AA8 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 5E9157351DD0AC6500FF2AA8 /* libRCTAnimation.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = libRCTAnimation.a; - remoteRef = 5E9157341DD0AC6500FF2AA8 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 61AFB06122DA615E00C8AB49 /* libBVLinearGradient.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = libBVLinearGradient.a; - remoteRef = 61AFB06022DA615E00C8AB49 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 61AFB06322DA615E00C8AB49 /* libBVLinearGradient.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = libBVLinearGradient.a; - remoteRef = 61AFB06222DA615E00C8AB49 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 61E09B6E213A883D00A88BDE /* libRNDeviceInfo.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = libRNDeviceInfo.a; - remoteRef = 61E09B6D213A883D00A88BDE /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 61E09B70213A883D00A88BDE /* libRNDeviceInfo-tvOS.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = "libRNDeviceInfo-tvOS.a"; - remoteRef = 61E09B6F213A883D00A88BDE /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 6B489FDB22C215FE00479D20 /* libjsi.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = libjsi.a; - remoteRef = 6B489FDA22C215FE00479D20 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 6B489FDD22C215FE00479D20 /* libjsiexecutor.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = libjsiexecutor.a; - remoteRef = 6B489FDC22C215FE00479D20 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 6B489FDF22C215FE00479D20 /* libjsi-tvOS.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = "libjsi-tvOS.a"; - remoteRef = 6B489FDE22C215FE00479D20 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 6B489FE122C215FE00479D20 /* libjsiexecutor-tvOS.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = "libjsiexecutor-tvOS.a"; - remoteRef = 6B489FE022C215FE00479D20 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 6B51048023799CE800F138E1 /* libRCTPdf.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = libRCTPdf.a; - remoteRef = 6B51047F23799CE800F138E1 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 6B5104AC23799D5500F138E1 /* libRNFetchBlob.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = libRNFetchBlob.a; - remoteRef = 6B5104AB23799D5500F138E1 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 6B5104B523799E0500F138E1 /* libimageCropPicker.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = libimageCropPicker.a; - remoteRef = 6B5104B423799E0500F138E1 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 6B5104BC23799E8B00F138E1 /* libRNDocumentPicker.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = libRNDocumentPicker.a; - remoteRef = 6B5104BB23799E8B00F138E1 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 6B5104C423799F4E00F138E1 /* libRNFS.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = libRNFS.a; - remoteRef = 6B5104C323799F4E00F138E1 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 6B5104C623799F4E00F138E1 /* libRNFS.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = libRNFS.a; - remoteRef = 6B5104C523799F4E00F138E1 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 6BAD8774237965DA00D29A8B /* libRNVectorIcons.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = libRNVectorIcons.a; - remoteRef = 6BAD8773237965DA00D29A8B /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 6BAD8776237965DA00D29A8B /* libRNVectorIcons-tvOS.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = "libRNVectorIcons-tvOS.a"; - remoteRef = 6BAD8775237965DA00D29A8B /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 6BBEA32F22A8FE4C00C6ADE1 /* libBugsnagReactNative.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = libBugsnagReactNative.a; - remoteRef = 6BBEA32E22A8FE4C00C6ADE1 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 6BFD3E6A232FC6480067FAB8 /* libReactNativePermissions.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = libReactNativePermissions.a; - remoteRef = 6BFD3E69232FC6480067FAB8 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 6BFD3E7A232FC7510067FAB8 /* libRNCAsyncStorage.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = libRNCAsyncStorage.a; - remoteRef = 6BFD3E79232FC7510067FAB8 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 78C398B91ACF4ADC00677621 /* libRCTLinking.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = libRCTLinking.a; - remoteRef = 78C398B81ACF4ADC00677621 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 832341B51AAA6A8300B99B32 /* libRCTText.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = libRCTText.a; - remoteRef = 832341B41AAA6A8300B99B32 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - ADBDB9271DFEBF0700ED6528 /* libRCTBlob.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = libRCTBlob.a; - remoteRef = ADBDB9261DFEBF0700ED6528 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; -/* End PBXReferenceProxy section */ - /* Begin PBXResourcesBuildPhase section */ 00E356EC1AD99517003FC87E /* Resources */ = { isa = PBXResourcesBuildPhase; @@ -1680,14 +368,9 @@ buildActionMask = 2147483647; files = ( 13B07FBF1A68108700A75B9A /* Images.xcassets in Resources */, - 6BAD875D237964A500D29A8B /* MaterialCommunityIcons.ttf in Resources */, 6B0830F92318070200E64C6C /* InfoPlist.strings in Resources */, - 6BAD87632379652300D29A8B /* FontAwesome5_Brands.ttf in Resources */, - 6BAD875E237964A500D29A8B /* FontAwesome.ttf in Resources */, 13B07FBD1A68108700A75B9A /* LaunchScreen.xib in Resources */, - 975FF01AB89D4407832726D4 /* YTPlayerView-iframe-player.html in Resources */, 96E3C6F17CE24BD5AFF45E7B /* OpenSans-Bold.ttf in Resources */, - 6BAD87642379652300D29A8B /* FontAwesome5_Solid.ttf in Resources */, 62E8C1EDE2C741239E916FB9 /* OpenSans-BoldItalic.ttf in Resources */, 8E91A3D298D54668A81191C0 /* OpenSans-ExtraBold.ttf in Resources */, 6120BA1189D14C56A8E8CF65 /* OpenSans-ExtraBoldItalic.ttf in Resources */, @@ -1696,7 +379,6 @@ FE9B30FE88034D31A30B7F1E /* OpenSans-Regular.ttf in Resources */, FA70D9E8C5764BEE8D9A91FF /* OpenSans-RegularItalic.ttf in Resources */, EAE8BDB618174F13BB7DD398 /* OpenSans-SemiBold.ttf in Resources */, - 6BAD87622379652300D29A8B /* FontAwesome5_Regular.ttf in Resources */, 5756BAFD954E4B71ADBE04D0 /* OpenSans-SemiBoldItalic.ttf in Resources */, ); runOnlyForDeploymentPostprocessing = 0; @@ -1718,16 +400,94 @@ shellPath = /bin/sh; shellScript = "export NODE_BINARY=node\n../node_modules/react-native/scripts/react-native-xcode.sh\n"; }; - 023974FCBE357FFA52D1458D /* [CP] Check Pods Manifest.lock */ = { + 20DF6779D6EEB133BB34B7C1 /* [CP] Check Pods Manifest.lock */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + ); + inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", + ); + name = "[CP] Check Pods Manifest.lock"; + outputFileListPaths = ( + ); + outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-TreecounterAppTests-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; + }; + 5E8B53586B14428AAC789CE0 /* [CP] Copy Pods Resources */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-TreecounterApp/Pods-TreecounterApp-resources.sh", + "${PODS_CONFIGURATION_BUILD_DIR}/QBImagePickerController/QBImagePicker.bundle", + "${PODS_ROOT}/../../node_modules/react-native-vector-icons/Fonts/AntDesign.ttf", + "${PODS_ROOT}/../../node_modules/react-native-vector-icons/Fonts/Entypo.ttf", + "${PODS_ROOT}/../../node_modules/react-native-vector-icons/Fonts/EvilIcons.ttf", + "${PODS_ROOT}/../../node_modules/react-native-vector-icons/Fonts/Feather.ttf", + "${PODS_ROOT}/../../node_modules/react-native-vector-icons/Fonts/FontAwesome.ttf", + "${PODS_ROOT}/../../node_modules/react-native-vector-icons/Fonts/FontAwesome5_Brands.ttf", + "${PODS_ROOT}/../../node_modules/react-native-vector-icons/Fonts/FontAwesome5_Regular.ttf", + "${PODS_ROOT}/../../node_modules/react-native-vector-icons/Fonts/FontAwesome5_Solid.ttf", + "${PODS_ROOT}/../../node_modules/react-native-vector-icons/Fonts/Fontisto.ttf", + "${PODS_ROOT}/../../node_modules/react-native-vector-icons/Fonts/Foundation.ttf", + "${PODS_ROOT}/../../node_modules/react-native-vector-icons/Fonts/Ionicons.ttf", + "${PODS_ROOT}/../../node_modules/react-native-vector-icons/Fonts/MaterialCommunityIcons.ttf", + "${PODS_ROOT}/../../node_modules/react-native-vector-icons/Fonts/MaterialIcons.ttf", + "${PODS_ROOT}/../../node_modules/react-native-vector-icons/Fonts/Octicons.ttf", + "${PODS_ROOT}/../../node_modules/react-native-vector-icons/Fonts/SimpleLineIcons.ttf", + "${PODS_ROOT}/../../node_modules/react-native-vector-icons/Fonts/Zocial.ttf", + "${PODS_ROOT}/RSKImageCropper/RSKImageCropper/RSKImageCropperStrings.bundle", + ); + name = "[CP] Copy Pods Resources"; + outputPaths = ( + "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/QBImagePicker.bundle", + "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/AntDesign.ttf", + "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/Entypo.ttf", + "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/EvilIcons.ttf", + "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/Feather.ttf", + "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/FontAwesome.ttf", + "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/FontAwesome5_Brands.ttf", + "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/FontAwesome5_Regular.ttf", + "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/FontAwesome5_Solid.ttf", + "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/Fontisto.ttf", + "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/Foundation.ttf", + "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/Ionicons.ttf", + "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/MaterialCommunityIcons.ttf", + "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/MaterialIcons.ttf", + "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/Octicons.ttf", + "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/SimpleLineIcons.ttf", + "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/Zocial.ttf", + "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/RSKImageCropperStrings.bundle", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-TreecounterApp/Pods-TreecounterApp-resources.sh\"\n"; + showEnvVarsInLog = 0; + }; + 5F954B6E38514DCAC3C7BF4B /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); + inputFileListPaths = ( + ); inputPaths = ( "${PODS_PODFILE_DIR_PATH}/Podfile.lock", "${PODS_ROOT}/Manifest.lock", ); name = "[CP] Check Pods Manifest.lock"; + outputFileListPaths = ( + ); outputPaths = ( "$(DERIVED_FILE_DIR)/Pods-TreecounterApp-checkManifestLockResult.txt", ); @@ -1790,6 +550,7 @@ /* Begin XCBuildConfiguration section */ 00E356F61AD99517003FC87E /* Debug */ = { isa = XCBuildConfiguration; + baseConfigurationReference = BC7F0BAD37D9C712136B3914 /* Pods-TreecounterAppTests.debug.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; GCC_PREPROCESSOR_DEFINITIONS = ( @@ -1799,18 +560,12 @@ HEADER_SEARCH_PATHS = ( "$(inherited)", "$(SRCROOT)/../node_modules/react-native-svg/ios/**", - "$(SRCROOT)/../node_modules/react-native-i18n/ios", - "$(SRCROOT)/../node_modules/react-native-image-picker/ios", - "$(SRCROOT)/../node_modules/react-native-device-info/ios/RNDeviceInfo", "$(SRCROOT)/../node_modules/react-native-youtube/**", ); INFOPLIST_FILE = TreecounterAppTests/Info.plist; IPHONEOS_DEPLOYMENT_TARGET = 9.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - LIBRARY_SEARCH_PATHS = ( - "$(inherited)", - "\"$(SRCROOT)/$(TARGET_NAME)\"", - ); + LIBRARY_SEARCH_PATHS = "$(inherited)"; OTHER_LDFLAGS = ( "-ObjC", "-lc++", @@ -1823,24 +578,19 @@ }; 00E356F71AD99517003FC87E /* Release */ = { isa = XCBuildConfiguration; + baseConfigurationReference = AB2EE13037689C7256B81209 /* Pods-TreecounterAppTests.release.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; COPY_PHASE_STRIP = NO; HEADER_SEARCH_PATHS = ( "$(inherited)", "$(SRCROOT)/../node_modules/react-native-svg/ios/**", - "$(SRCROOT)/../node_modules/react-native-i18n/ios", - "$(SRCROOT)/../node_modules/react-native-image-picker/ios", - "$(SRCROOT)/../node_modules/react-native-device-info/ios/RNDeviceInfo", "$(SRCROOT)/../node_modules/react-native-youtube/**", ); INFOPLIST_FILE = TreecounterAppTests/Info.plist; IPHONEOS_DEPLOYMENT_TARGET = 9.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - LIBRARY_SEARCH_PATHS = ( - "$(inherited)", - "\"$(SRCROOT)/$(TARGET_NAME)\"", - ); + LIBRARY_SEARCH_PATHS = "$(inherited)"; OTHER_LDFLAGS = ( "-ObjC", "-lc++", @@ -1853,7 +603,7 @@ }; 13B07F941A680F5B00A75B9A /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = E24F6C6563C2BB135CD0C89E /* Pods-TreecounterApp.debug.xcconfig */; + baseConfigurationReference = 3230EB4DC3218D5EAE882632 /* Pods-TreecounterApp.debug.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CODE_SIGN_ENTITLEMENTS = TreecounterApp/TreecounterApp.entitlements; @@ -1866,16 +616,18 @@ "$(inherited)", "${SRCROOT}/Pods/Headers/Public/**", "$(SRCROOT)/../node_modules/react-native-svg/ios/**", - "$(SRCROOT)/../node_modules/react-native-i18n/ios", - "$(SRCROOT)/../node_modules/react-native-image-picker/ios", - "$(SRCROOT)/../node_modules/react-native-device-info/ios/RNDeviceInfo", "$(SRCROOT)/../node_modules/react-native-youtube/**", "$(SRCROOT)/../node_modules/react-native/Libraries/LinkingIOS/**", + "$(SRCROOT)/../node_modules/react-native/React/**", "$(SRCROOT)/../node_modules/bugsnag-react-native/cocoa/**", + "$(SRCROOT)/../node_modules/react-native/React/**", ); INFOPLIST_FILE = TreecounterApp/Info.plist; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; - LIBRARY_SEARCH_PATHS = "$(SRCROOT)"; + LIBRARY_SEARCH_PATHS = ( + "$(inherited)/**", + "$(SRCROOT)", + ); MARKETING_VERSION = 1.49.1; OTHER_LDFLAGS = ( "$(inherited)", @@ -1892,7 +644,7 @@ }; 13B07F951A680F5B00A75B9A /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = E4D7143072CD49B163C98319 /* Pods-TreecounterApp.release.xcconfig */; + baseConfigurationReference = 15B1623C7B08933A527F5F80 /* Pods-TreecounterApp.release.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CODE_SIGN_ENTITLEMENTS = TreecounterApp/TreecounterApp.entitlements; @@ -1904,16 +656,18 @@ "$(inherited)", "${SRCROOT}/Pods/Headers/Public/**", "$(SRCROOT)/../node_modules/react-native-svg/ios/**", - "$(SRCROOT)/../node_modules/react-native-i18n/ios", - "$(SRCROOT)/../node_modules/react-native-image-picker/ios", - "$(SRCROOT)/../node_modules/react-native-device-info/ios/RNDeviceInfo", "$(SRCROOT)/../node_modules/react-native-youtube/**", "$(SRCROOT)/../node_modules/react-native/Libraries/LinkingIOS/**", + "$(SRCROOT)/../node_modules/react-native/React/**", "$(SRCROOT)/../node_modules/bugsnag-react-native/cocoa/**", + "$(SRCROOT)/../node_modules/react-native/React/**", ); INFOPLIST_FILE = TreecounterApp/Info.plist; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; - LIBRARY_SEARCH_PATHS = "$(SRCROOT)"; + LIBRARY_SEARCH_PATHS = ( + "$(inherited)/**", + "$(SRCROOT)", + ); MARKETING_VERSION = 1.49.1; OTHER_LDFLAGS = ( "$(inherited)", diff --git a/ios/TreecounterApp.xcodeproj/xcshareddata/xcschemes/TreecounterApp.xcscheme b/ios/TreecounterApp.xcodeproj/xcshareddata/xcschemes/TreecounterApp.xcscheme index cefe15832..ae48a4a47 100644 --- a/ios/TreecounterApp.xcodeproj/xcshareddata/xcschemes/TreecounterApp.xcscheme +++ b/ios/TreecounterApp.xcodeproj/xcshareddata/xcschemes/TreecounterApp.xcscheme @@ -55,6 +55,15 @@ selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB" selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB" shouldUseLaunchSchemeArgsEnv = "YES"> + + + + @@ -67,17 +76,6 @@ - - - - - - - - - + + PreviewsEnabled + + diff --git a/ios/TreecounterApp/Info.plist b/ios/TreecounterApp/Info.plist index 5392bdd76..888f07a2f 100644 --- a/ios/TreecounterApp/Info.plist +++ b/ios/TreecounterApp/Info.plist @@ -90,11 +90,22 @@ OpenSans-RegularItalic.ttf OpenSans-SemiBold.ttf OpenSans-SemiBoldItalic.ttf + AntDesign.ttf + Entypo.ttf + EvilIcons.ttf + Feather.ttf FontAwesome.ttf FontAwesome5_Brands.ttf FontAwesome5_Regular.ttf FontAwesome5_Solid.ttf + Fontisto.ttf + Foundation.ttf + Ionicons.ttf MaterialCommunityIcons.ttf + MaterialIcons.ttf + Octicons.ttf + SimpleLineIcons.ttf + Zocial.ttf UILaunchStoryboardName LaunchScreen diff --git a/package.json b/package.json index 51121d433..e1783790d 100755 --- a/package.json +++ b/package.json @@ -14,7 +14,7 @@ "lint:errors": "eslint app --quiet", "lint:json": "eslint . --ext .json", "shake": "adb shell input keyevent 82", - "postinstall": "grep -r --include=*.java -l 'android.support.v7' ./node_modules/react-native-image-picker | sort | uniq | xargs perl -e 's/android.support.v7/androidx.appcompat/' -pi && grep -r --include=*.java -l 'android.support.v4' ./node_modules/react-native-image-picker | sort | uniq | xargs perl -e 's/android.support.v4/androidx.core/' -pi && grep -r --include=*.java -l 'android.support' ./node_modules/react-native-image-picker | sort | uniq | xargs perl -e 's/android.support/androidx/' -pi && grep --include=*.java -r -l 'android.support' ./node_modules/react-native-youtube | sort | uniq | xargs perl -e 's/android.support/androidx/' -pi" + "clean": "./clean.sh" }, "lint-staged": { "*.js": [ @@ -22,21 +22,20 @@ "git add" ] }, - "rnpm": { - "assets": [ - "./app/assets/fonts" - ] - }, "dependencies": { "@bugsnag/js": "^6.4.3", - "@haskkor/react-native-recaptchav3": "1.0.3", "@react-native-community/async-storage": "^1.6.2", + "@react-native-community/cli-platform-android": "^3.0.3", + "@react-native-community/cli-platform-ios": "^3.0.0", + "@react-native-community/geolocation": "^2.0.2", "autosuggest-highlight": "^3.1.1", "axios": "^0.18.1", "bugsnag-react-native": "^2.23.2", "classnames": "^2.2.5", + "cookie-cutter": "^0.2.0", "css-loader": "^0.28.9", "date-fns": "^2.6.0", + "deprecated-react-native-listview": "0.0.6", "esri-loader": "^2.12.0", "formik": "^1.5.8", "history": "^4.10.1", @@ -48,7 +47,7 @@ "normalizr": "^3.2.4", "number-to-words": "^1.2.3", "prop-types": "^15.7.2", - "react": "^16.11.0", + "react": "^16.9.0", "react-accessible-accordion": "^2.4.1", "react-arcgis": "3.3.0", "react-async-script-loader": "^0.3.0", @@ -58,41 +57,46 @@ "react-i18next": "^7.6.1", "react-images": "^0.5.17", "react-modal": "^3.11.1", - "react-native": "^0.59.8", + "react-native": "^0.61.5", "react-native-action-button": "^2.8.5", "react-native-check-box": "^2.1.7", - "react-native-collapsible": "^0.12.0", - "react-native-device-info": "^0.26.5", + "react-native-collapsible": "^1.5.1", + "react-native-device-info": "^5.3.1", "react-native-document-picker": "^3.2.4", - "react-native-extended-stylesheet": "^0.8.1", + "react-native-extended-stylesheet": "^0.12.0", "react-native-fs": "2.14.1", - "react-native-htmlview": "^0.12.1", + "react-native-gesture-handler": "^1.5.2", + "react-native-htmlview": "^0.15.0", "react-native-i18n": "^2.0.15", - "react-native-image-carousel": "^0.4.4", - "react-native-image-picker": "^1.1.0", + "react-native-image-carousel": "^0.4.6", "react-native-image-crop-picker": "^0.25.0", - "react-native-keyboard-aware-scroll-view": "^0.7.4", - "react-native-lightbox": "^0.7.0", - "react-native-linear-gradient": "^2.5.4", + "react-native-image-picker": "^1.1.0", + "react-native-keyboard-aware-scroll-view": "^0.9.1", + "react-native-lightbox": "^0.8.0", + "react-native-linear-gradient": "react-native-community/react-native-linear-gradient", "react-native-material-dropdown": "git+https://github.com/niteshgrg/react-native-material-dropdown.git", "react-native-material-textfield": "^0.16.1", "react-native-modal-datetime-picker": "^7.6.0", - "react-native-permissions": "^1.2.1", + "react-native-pdf": "^6.0.0", + "react-native-permissions": "^2.0.5", "react-native-popover-tooltip": "^1.1.4", - "react-native-pdf": "^5.1.7", "react-native-ratings": "^6.3.1", - "react-native-raw-bottom-sheet": "^2.0.5", - "react-native-recaptcha-v3": "0.0.16", + "react-native-raw-bottom-sheet": "^2.0.6", + "react-native-reanimated": "^1.4.0", "react-native-root-toast": "^3.2.0", + "react-native-screens": "^1.0.0-alpha.23", "react-native-simple-radio-button": "^2.7.4", - "react-native-slick": "^1.0.1", - "react-native-svg": "^6.5.3", + "react-native-slick": "^1.0.2", + "react-native-svg": "^9.13.3", "react-native-svg-uri": "^1.2.3", - "react-native-tab-view": "^1.0.2", - "react-native-vector-icons": "^6.6.0", - "react-native-youtube": "^1.1.0", - "react-navigation": "^2.11.2", + "react-native-tab-view": "^2.11.0", + "react-native-vector-icons": "6.6.0", + "react-native-webview": "^7.5.2", + "react-navigation": "^4.0.10", + "react-navigation-drawer": "^2.3.3", "react-navigation-redux-helpers": "^1.1.2", + "react-navigation-stack": "^1.10.3", + "react-navigation-tabs": "^2.6.0", "react-notifications": "^1.4.3", "react-redux": "^7.1.0", "react-reveal": "^1.2.2", @@ -120,15 +124,16 @@ "tcomb-form": "^0.9.20", "tcomb-form-native": "^0.6.11", "tcomb-json-schema": "^0.3.2", - "tipsi-stripe": "^5.6.0", "uuid": "^3.3.3", "uuidv4": "^2.0.0", "why-did-you-update": "1.0.6", "yup": "^0.27.0" }, "devDependencies": { + "@babel/core": "^7.6.2", + "@babel/runtime": "^7.6.2", "babel-eslint": "^10.0.3", - "babel-jest": "22.4.3", + "babel-jest": "^24.9.0", "babel-loader": "^7.1.4", "babel-plugin-transform-class-properties": "^6.24.1", "babel-plugin-transform-remove-console": "^6.9.4", @@ -143,37 +148,38 @@ "eslint-plugin-json": "1.4.0", "eslint-plugin-react": "^7.16.0", "eslint-plugin-react-native": "^3.8.1", - "extract-text-webpack-plugin": "^4.0.0-beta.0", "favicons-webpack-plugin": "^1.0.2", "file-loader": "^4.2.0", "html-loader": "^0.5.5", "html-webpack-plugin": "^4.0.0-beta.8", "husky": "^0.14.3", "image-webpack-loader": "^6.0.0", - "jest": "22.4.3", + "jest": "^24.9.0", "license-checker": "^20.2.0", "lint-staged": "^7.0.5", "live-server": "^1.2.1", + "metro-react-native-babel-preset": "0.56.3", "mini-css-extract-plugin": "^0.8.0", "node-sass": "^4.13.0", "prettier": "1.12.1", "prettier-eslint": "^9.0.0", "react-native-global-props": "^1.1.3", - "react-test-renderer": "16.3.1", + "react-test-renderer": "16.9.0", "reactotron-react-native": "^3.7.1", "sass-loader": "^6.0.6", - "style-loader": "^0.20.1", + "terser-webpack-plugin": "^2.2.1", "url-loader": "^2.2.0", "webpack": "^4.41.2", "webpack-bugsnag-plugins": "^1.4.2", "webpack-cleanup-plugin": "^0.5.1", "webpack-cli": "^3.3.10", - "webpack-dev-middleware": "^3.7.2", "webpack-dev-server": "^3.9.0", - "webpack-hot-middleware": "^2.25.0", "webpack-merge": "^4.1.2" }, "jest": { - "preset": "react-native" + "preset": "react-native", + "setupFiles": [ + "./node_modules/react-native-gesture-handler/jestSetup.js" + ] } } diff --git a/react-native.config.js b/react-native.config.js new file mode 100644 index 000000000..32e6a202b --- /dev/null +++ b/react-native.config.js @@ -0,0 +1,12 @@ +// read this if you want to activate react-native-config for this project https://medium.com/differential/managing-configuration-in-react-native-cd2dfb5e6f7b +const ios = require('@react-native-community/cli-platform-ios'); +const android = require('@react-native-community/cli-platform-android'); + +module.exports = { + project: { + ios: {}, + android: {} + }, + assets: ['Resources/fonts', './app/assets/fonts'] // stays the same + // commands: require('./path-to-commands.js'), +};