Move to expo and react-navigation (#288)
* WIP - adding expo * WIP - adding expo 2 * Fix tsc * Finish adding expo * Disable the 'require cycle' warning * Tweak plist * Modify some dependency versions to make expo happy * Fix icon fill * Get Web compiling for expo * 1.7 * Switch to react-navigation in expo2 (#287) * WIP Switch to react-navigation * WIP Switch to react-navigation 2 * WIP Switch to react-navigation 3 * Convert all screens to react navigation * Update BottomBar for react navigation * Update mobile menu to be react-native drawer * Fixes to drawer and bottombar * Factor out some helpers * Replace the navigation model with react-navigation * Restructure the shell folder and fix the header positioning * Restore the error boundary * Fix tsc * Implement not-found page * Remove react-native-gesture-handler (no longer used) * Handle notifee card presses * Handle all navigations from the state layer * Fix drawer behaviors * Fix two linking issues * Switch to our react-native-progress fork to fix an svg rendering issue * Get Web working with react-navigation * Refactor routes and navigation for a bit more clarity * Remove dead code * Rework Web shell to left/right nav to make this easier * Fix ViewHeader for desktop web * Hide profileheader back btn on desktop web * Move the compose button to the left nav * Implement reply prompt in threads for desktop web * Composer refactors * Factor out all platform-specific text input behaviors from the composer * Small fix * Update the web build to use tiptap for the composer * Tune up the mention autocomplete dropdown * Simplify the default avatar and banner * Fixes to link cards in web composer * Fix dropdowns on web * Tweak load latest on desktop * Add web beta message and feedback link * Fix up links in desktop web
							
								
								
									
										15
									
								
								.gitignore
									
										
									
									
										vendored
									
									
								
							
							
						
						|  | @ -63,4 +63,17 @@ buck-out/ | |||
| # Testing | ||||
| coverage/ | ||||
| junit.xml | ||||
| artifacts | ||||
| artifacts | ||||
| 
 | ||||
| .expo/ | ||||
| dist/ | ||||
| *.jks | ||||
| *.p8 | ||||
| *.p12 | ||||
| *.key | ||||
| *.mobileprovision | ||||
| *.orig.* | ||||
| web-build/ | ||||
| 
 | ||||
| # Temporary files created by Metro to check the health of the file watcher | ||||
| .metro-health-check* | ||||
|  | @ -1,157 +0,0 @@ | |||
| import {RootStoreModel} from './../../../src/state/models/root-store' | ||||
| import {NavigationModel} from './../../../src/state/models/navigation' | ||||
| import * as flags from '../../../src/lib/build-flags' | ||||
| import AtpAgent from '@atproto/api' | ||||
| import {DEFAULT_SERVICE} from '../../../src/state' | ||||
| 
 | ||||
| describe('NavigationModel', () => { | ||||
|   let model: NavigationModel | ||||
|   let rootStore: RootStoreModel | ||||
| 
 | ||||
|   beforeEach(() => { | ||||
|     rootStore = new RootStoreModel(new AtpAgent({service: DEFAULT_SERVICE})) | ||||
|     model = new NavigationModel(rootStore) | ||||
|     model.setTitle('0-0', 'title') | ||||
|   }) | ||||
| 
 | ||||
|   afterAll(() => { | ||||
|     jest.clearAllMocks() | ||||
|   }) | ||||
| 
 | ||||
|   it('should clear() to the correct base state', async () => { | ||||
|     await model.clear() | ||||
|     expect(model.tabCount).toBe(3) | ||||
|     expect(model.tab).toEqual({ | ||||
|       fixedTabPurpose: 0, | ||||
|       history: [ | ||||
|         { | ||||
|           id: expect.anything(), | ||||
|           ts: expect.anything(), | ||||
|           url: '/', | ||||
|         }, | ||||
|       ], | ||||
|       id: expect.anything(), | ||||
|       index: 0, | ||||
|       isNewTab: false, | ||||
|     }) | ||||
|   }) | ||||
| 
 | ||||
|   it('should call the navigate method', async () => { | ||||
|     const navigateSpy = jest.spyOn(model.tab, 'navigate') | ||||
|     await model.navigate('testurl', 'teststring') | ||||
|     expect(navigateSpy).toHaveBeenCalledWith('testurl', 'teststring') | ||||
|   }) | ||||
| 
 | ||||
|   it('should call the refresh method', async () => { | ||||
|     const refreshSpy = jest.spyOn(model.tab, 'refresh') | ||||
|     await model.refresh() | ||||
|     expect(refreshSpy).toHaveBeenCalled() | ||||
|   }) | ||||
| 
 | ||||
|   it('should call the isCurrentScreen method', () => { | ||||
|     expect(model.isCurrentScreen('11', 0)).toEqual(false) | ||||
|   }) | ||||
| 
 | ||||
|   it('should call the tab getter', () => { | ||||
|     expect(model.tab).toEqual({ | ||||
|       fixedTabPurpose: 0, | ||||
|       history: [ | ||||
|         { | ||||
|           id: expect.anything(), | ||||
|           ts: expect.anything(), | ||||
|           url: '/', | ||||
|         }, | ||||
|       ], | ||||
|       id: expect.anything(), | ||||
|       index: 0, | ||||
|       isNewTab: false, | ||||
|     }) | ||||
|   }) | ||||
| 
 | ||||
|   it('should call the tabCount getter', () => { | ||||
|     expect(model.tabCount).toBe(3) | ||||
|   }) | ||||
| 
 | ||||
|   describe('tabs not enabled', () => { | ||||
|     jest.mock('../../../src/lib/build-flags', () => ({ | ||||
|       TABS_ENABLED: false, | ||||
|     })) | ||||
| 
 | ||||
|     afterAll(() => { | ||||
|       jest.clearAllMocks() | ||||
|     }) | ||||
| 
 | ||||
|     it('should not create new tabs', () => { | ||||
|       // @ts-expect-error
 | ||||
|       flags.TABS_ENABLED = false | ||||
|       model.newTab('testurl') | ||||
|       expect(model.tab.isNewTab).toBe(false) | ||||
|       expect(model.tabIndex).toBe(0) | ||||
|     }) | ||||
| 
 | ||||
|     it('should not change the active tab', () => { | ||||
|       // @ts-expect-error
 | ||||
|       flags.TABS_ENABLED = false | ||||
|       model.setActiveTab(3) | ||||
|       expect(model.tabIndex).toBe(0) | ||||
|     }) | ||||
| 
 | ||||
|     it('should note close tabs', () => { | ||||
|       // @ts-expect-error
 | ||||
|       flags.TABS_ENABLED = false | ||||
|       model.closeTab(0) | ||||
|       expect(model.tabCount).toBe(3) | ||||
|     }) | ||||
|   }) | ||||
| 
 | ||||
|   // TODO restore when tabs get re-enabled
 | ||||
|   // describe('tabs enabled', () => {
 | ||||
|   //   jest.mock('../../../src/build-flags', () => ({
 | ||||
|   //     TABS_ENABLED: true,
 | ||||
|   //   }))
 | ||||
| 
 | ||||
|   //   afterAll(() => {
 | ||||
|   //     jest.clearAllMocks()
 | ||||
|   //   })
 | ||||
| 
 | ||||
|   //   it('should create new tabs', () => {
 | ||||
|   //     // @ts-expect-error
 | ||||
|   //     flags.TABS_ENABLED = true
 | ||||
| 
 | ||||
|   //     model.newTab('testurl', 'title')
 | ||||
|   //     expect(model.tab.isNewTab).toBe(true)
 | ||||
|   //     expect(model.tabIndex).toBe(2)
 | ||||
|   //   })
 | ||||
| 
 | ||||
|   //   it('should change the current tab', () => {
 | ||||
|   //     // @ts-expect-error
 | ||||
|   //     flags.TABS_ENABLED = true
 | ||||
| 
 | ||||
|   //     model.setActiveTab(0)
 | ||||
|   //     expect(model.tabIndex).toBe(0)
 | ||||
|   //   })
 | ||||
| 
 | ||||
|   //   it('should close tabs', () => {
 | ||||
|   //     // @ts-expect-error
 | ||||
|   //     flags.TABS_ENABLED = true
 | ||||
| 
 | ||||
|   //     model.closeTab(0)
 | ||||
|   //     expect(model.tabs).toEqual([
 | ||||
|   //       {
 | ||||
|   //         fixedTabPurpose: 1,
 | ||||
|   //         history: [
 | ||||
|   //           {
 | ||||
|   //             id: expect.anything(),
 | ||||
|   //             ts: expect.anything(),
 | ||||
|   //             url: '/notifications',
 | ||||
|   //           },
 | ||||
|   //         ],
 | ||||
|   //         id: expect.anything(),
 | ||||
|   //         index: 0,
 | ||||
|   //         isNewTab: false,
 | ||||
|   //       },
 | ||||
|   //     ])
 | ||||
|   //     expect(model.tabIndex).toBe(0)
 | ||||
|   //   })
 | ||||
|   // })
 | ||||
| }) | ||||
|  | @ -2,14 +2,27 @@ apply plugin: "com.android.application" | |||
| apply plugin: "com.facebook.react" | ||||
| 
 | ||||
| import com.android.build.OutputFile | ||||
| import org.apache.tools.ant.taskdefs.condition.Os | ||||
| 
 | ||||
| def projectRoot = rootDir.getAbsoluteFile().getParentFile().getAbsolutePath() | ||||
| def expoDebuggableVariants = ['debug'] | ||||
| // Override `debuggableVariants` for expo-updates debugging | ||||
| if (System.getenv('EX_UPDATES_NATIVE_DEBUG') == "1") { | ||||
|   react { | ||||
|     expoDebuggableVariants = [] | ||||
|   } | ||||
| } | ||||
| 
 | ||||
| 
 | ||||
| /** | ||||
|  * This is the configuration block to customize your React Native Android app. | ||||
|  * By default you don't need to apply any configuration, just uncomment the lines you need. | ||||
|  */ | ||||
| 
 | ||||
| react { | ||||
|     entryFile = file(["node", "-e", "require('expo/scripts/resolveAppEntry')", projectRoot, "android", "absolute"].execute(null, rootDir).text.trim()) | ||||
|     reactNativeDir = new File(["node", "--print", "require.resolve('react-native/package.json')"].execute(null, rootDir).text.trim()).getParentFile().getAbsoluteFile() | ||||
|     hermesCommand = new File(["node", "--print", "require.resolve('react-native/package.json')"].execute(null, rootDir).text.trim()).getParentFile().getAbsolutePath() + "/sdks/hermesc/%OS-BIN%/hermesc" | ||||
|     debuggableVariants = expoDebuggableVariants | ||||
| 
 | ||||
|     /* Folders */ | ||||
|     //   The root of your project, i.e. where "package.json" lives. Default is '..' | ||||
|     // root = file("../") | ||||
|  | @ -19,11 +32,13 @@ react { | |||
|     // codegenDir = file("../node_modules/react-native-codegen") | ||||
|     //   The cli.js file which is the React Native CLI entrypoint. Default is ../node_modules/react-native/cli.js | ||||
|     // cliFile = file("../node_modules/react-native/cli.js") | ||||
| 
 | ||||
|     /* Variants */ | ||||
|     //   The list of variants to that are debuggable. For those we're going to | ||||
|     //   skip the bundling of the JS bundle and the assets. By default is just 'debug'. | ||||
|     //   If you add flavors like lite, prod, etc. you'll have to list your debuggableVariants. | ||||
|     // debuggableVariants = ["liteDebug", "prodDebug"] | ||||
| 
 | ||||
|     /* Bundling */ | ||||
|     //   A list containing the node command and its flags. Default is just 'node'. | ||||
|     // nodeExecutableAndArgs = ["node"] | ||||
|  | @ -43,6 +58,7 @@ react { | |||
|     //   A list of extra flags to pass to the 'bundle' commands. | ||||
|     //   See https://github.com/react-native-community/cli/blob/main/docs/commands.md#bundle | ||||
|     // extraPackagerArgs = [] | ||||
| 
 | ||||
|     /* Hermes Commands */ | ||||
|     //   The hermes compiler command to run. By default it is 'hermesc' | ||||
|     // hermesCommand = "$rootDir/my-custom-hermesc/bin/hermesc" | ||||
|  | @ -51,6 +67,11 @@ react { | |||
|     // hermesFlags = ["-O", "-output-source-map"] | ||||
| } | ||||
| 
 | ||||
| // Override `hermesEnabled` by `expo.jsEngine` | ||||
| ext { | ||||
|   hermesEnabled = (findProperty('expo.jsEngine') ?: "hermes") == "hermes" | ||||
| } | ||||
| 
 | ||||
| /** | ||||
|  * Set this to true to create four separate APKs instead of one, | ||||
|  * one for each native architecture. This is useful if you don't | ||||
|  | @ -62,7 +83,7 @@ def enableSeparateBuildPerCPUArchitecture = false | |||
| /** | ||||
|  * Set this to true to Run Proguard on Release builds to minify the Java bytecode. | ||||
|  */ | ||||
| def enableProguardInReleaseBuilds = false | ||||
| def enableProguardInReleaseBuilds = (findProperty('android.enableProguardInReleaseBuilds') ?: false).toBoolean() | ||||
| 
 | ||||
| /** | ||||
|  * The preferred build flavor of JavaScriptCore (JSC) | ||||
|  | @ -92,13 +113,13 @@ android { | |||
| 
 | ||||
|     compileSdkVersion rootProject.ext.compileSdkVersion | ||||
| 
 | ||||
|     namespace "xyz.blueskyweb.app" | ||||
|     namespace 'xyz.blueskyweb.app' | ||||
|     defaultConfig { | ||||
|         applicationId "xyz.blueskyweb.app" | ||||
|         applicationId 'xyz.blueskyweb.app' | ||||
|         minSdkVersion rootProject.ext.minSdkVersion | ||||
|         targetSdkVersion rootProject.ext.targetSdkVersion | ||||
|         versionCode 1 | ||||
|         versionName "1.0" | ||||
|         versionName "1.0.0" | ||||
|     } | ||||
| 
 | ||||
|     splits { | ||||
|  | @ -147,20 +168,63 @@ android { | |||
|     } | ||||
| } | ||||
| 
 | ||||
| // Apply static values from `gradle.properties` to the `android.packagingOptions` | ||||
| // Accepts values in comma delimited lists, example: | ||||
| // android.packagingOptions.pickFirsts=/LICENSE,**/picasa.ini | ||||
| ["pickFirsts", "excludes", "merges", "doNotStrip"].each { prop -> | ||||
|     // Split option: 'foo,bar' -> ['foo', 'bar'] | ||||
|     def options = (findProperty("android.packagingOptions.$prop") ?: "").split(","); | ||||
|     // Trim all elements in place. | ||||
|     for (i in 0..<options.size()) options[i] = options[i].trim(); | ||||
|     // `[] - ""` is essentially `[""].filter(Boolean)` removing all empty strings. | ||||
|     options -= "" | ||||
| 
 | ||||
|     if (options.length > 0) { | ||||
|         println "android.packagingOptions.$prop += $options ($options.length)" | ||||
|         // Ex: android.packagingOptions.pickFirsts += '**/SCCS/**' | ||||
|         options.each { | ||||
|             android.packagingOptions[prop] += it | ||||
|         } | ||||
|     } | ||||
| } | ||||
| 
 | ||||
| dependencies { | ||||
|     // The version of react-native is set by the React Native Gradle Plugin | ||||
|     implementation("com.facebook.react:react-android") | ||||
| 
 | ||||
|     def isGifEnabled = (findProperty('expo.gif.enabled') ?: "") == "true"; | ||||
|     def isWebpEnabled = (findProperty('expo.webp.enabled') ?: "") == "true"; | ||||
|     def isWebpAnimatedEnabled = (findProperty('expo.webp.animated') ?: "") == "true"; | ||||
|     def frescoVersion = rootProject.ext.frescoVersion | ||||
| 
 | ||||
|     // If your app supports Android versions before Ice Cream Sandwich (API level 14) | ||||
|     if (isGifEnabled || isWebpEnabled) { | ||||
|         implementation("com.facebook.fresco:fresco:${frescoVersion}") | ||||
|         implementation("com.facebook.fresco:imagepipeline-okhttp3:${frescoVersion}") | ||||
|     } | ||||
| 
 | ||||
|     if (isGifEnabled) { | ||||
|         // For animated gif support | ||||
|         implementation("com.facebook.fresco:animated-gif:${frescoVersion}") | ||||
|     } | ||||
| 
 | ||||
|     if (isWebpEnabled) { | ||||
|         // For webp support | ||||
|         implementation("com.facebook.fresco:webpsupport:${frescoVersion}") | ||||
|         if (isWebpAnimatedEnabled) { | ||||
|             // Animated webp support | ||||
|             implementation("com.facebook.fresco:animated-webp:${frescoVersion}") | ||||
|         } | ||||
|     } | ||||
| 
 | ||||
|     implementation("androidx.swiperefreshlayout:swiperefreshlayout:1.0.0") | ||||
|      | ||||
|     implementation project(':rn-fetch-blob')                                                                       | ||||
| 
 | ||||
|     debugImplementation("com.facebook.flipper:flipper:${FLIPPER_VERSION}") | ||||
|     debugImplementation("com.facebook.flipper:flipper-network-plugin:${FLIPPER_VERSION}") { | ||||
|         exclude group:'com.squareup.okhttp3', module:'okhttp' | ||||
|     } | ||||
| 
 | ||||
|     debugImplementation("com.facebook.flipper:flipper-fresco-plugin:${FLIPPER_VERSION}") | ||||
| 
 | ||||
|     if (hermesEnabled.toBoolean()) { | ||||
|         implementation("com.facebook.react:hermes-android") | ||||
|     } else { | ||||
|  | @ -168,4 +232,5 @@ dependencies { | |||
|     } | ||||
| } | ||||
| 
 | ||||
| apply from: file("../../node_modules/@react-native-community/cli-platform-android/native_modules.gradle"); applyNativeModulesAppBuildGradle(project) | ||||
| apply from: new File(["node", "--print", "require.resolve('@react-native-community/cli-platform-android/package.json')"].execute(null, rootDir).text.trim(), "../native_modules.gradle"); | ||||
| applyNativeModulesAppBuildGradle(project) | ||||
|  |  | |||
							
								
								
									
										4
									
								
								android/app/proguard-rules.pro
									
										
									
									
										vendored
									
									
								
							
							
						
						|  | @ -8,3 +8,7 @@ | |||
| #   http://developer.android.com/guide/developing/tools/proguard.html | ||||
| 
 | ||||
| # Add any project specific keep options here: | ||||
| 
 | ||||
| # react-native-reanimated | ||||
| -keep class com.swmansion.reanimated.** { *; } | ||||
| -keep class com.facebook.react.turbomodule.** { *; } | ||||
|  | @ -1,13 +1,7 @@ | |||
| <?xml version="1.0" encoding="utf-8"?> | ||||
| <manifest xmlns:android="http://schemas.android.com/apk/res/android" | ||||
|     xmlns:tools="http://schemas.android.com/tools"> | ||||
| 
 | ||||
|     <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/> | ||||
| 
 | ||||
|     <application | ||||
|         android:usesCleartextTraffic="true" | ||||
|         tools:targetApi="28" | ||||
|         tools:ignore="GoogleAppIndexingWarning"> | ||||
|         <activity android:name="com.facebook.react.devsupport.DevSettingsActivity" android:exported="false" /> | ||||
|     </application> | ||||
|     <application android:usesCleartextTraffic="true" tools:targetApi="28" tools:ignore="GoogleAppIndexingWarning" /> | ||||
| </manifest> | ||||
|  |  | |||
|  | @ -4,7 +4,7 @@ | |||
|  * <p>This source code is licensed under the MIT license found in the LICENSE file in the root | ||||
|  * directory of this source tree. | ||||
|  */ | ||||
| package com.app; | ||||
| package xyz.blueskyweb.app; | ||||
| 
 | ||||
| import android.content.Context; | ||||
| import com.facebook.flipper.android.AndroidFlipperClient; | ||||
|  | @ -17,7 +17,6 @@ import com.facebook.flipper.plugins.inspector.DescriptorMapping; | |||
| import com.facebook.flipper.plugins.inspector.InspectorFlipperPlugin; | ||||
| import com.facebook.flipper.plugins.network.FlipperOkhttpInterceptor; | ||||
| import com.facebook.flipper.plugins.network.NetworkFlipperPlugin; | ||||
| import com.facebook.flipper.plugins.react.ReactFlipperPlugin; | ||||
| import com.facebook.flipper.plugins.sharedpreferences.SharedPreferencesFlipperPlugin; | ||||
| import com.facebook.react.ReactInstanceEventListener; | ||||
| import com.facebook.react.ReactInstanceManager; | ||||
|  | @ -1,47 +1,35 @@ | |||
| <manifest xmlns:android="http://schemas.android.com/apk/res/android" | ||||
|   package="xyz.blueskyweb.app"> | ||||
| 
 | ||||
|     <uses-permission android:name="android.permission.INTERNET" /> | ||||
|     <uses-permission android:name="android.permission.CAMERA"/> | ||||
|     <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> | ||||
|     <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> | ||||
| 
 | ||||
|     <application | ||||
|       android:name=".MainApplication" | ||||
|       android:label="@string/app_name" | ||||
|       android:icon="@mipmap/ic_launcher" | ||||
|       android:roundIcon="@mipmap/ic_launcher_round" | ||||
|       android:allowBackup="false" | ||||
|       android:theme="@style/AppTheme"> | ||||
|       <activity | ||||
|         android:name=".MainActivity" | ||||
|         android:label="@string/app_name" | ||||
|         android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|screenSize|smallestScreenSize|uiMode" | ||||
|         android:launchMode="singleTask" | ||||
|         android:windowSoftInputMode="adjustPan" | ||||
|         android:exported="true"> | ||||
|         <intent-filter> | ||||
|             <action android:name="android.intent.action.MAIN" /> | ||||
|             <category android:name="android.intent.category.LAUNCHER" /> | ||||
|         </intent-filter> | ||||
|         <!-- deep linking via web links --> | ||||
|         <intent-filter android:autoVerify="true"> | ||||
|             <action android:name="android.intent.action.VIEW" /> | ||||
|             <category android:name="android.intent.category.DEFAULT" /> | ||||
|             <category android:name="android.intent.category.BROWSABLE" /> | ||||
|             <!-- debug host: https://bsky.pfrazee.com --> | ||||
|             <data android:scheme="https" /> | ||||
|             <data android:host="bsky.pfrazee.com" /> | ||||
|         </intent-filter> | ||||
|         <!-- deep linking via custom links --> | ||||
|         <intent-filter> | ||||
|             <action android:name="android.intent.action.VIEW" /> | ||||
|             <category android:name="android.intent.category.DEFAULT" /> | ||||
|             <category android:name="android.intent.category.BROWSABLE" /> | ||||
|             <!-- debug scheme: bsky://app --> | ||||
|             <data android:scheme="bsky" /> | ||||
|             <data android:host="app" /> | ||||
|         </intent-filter> | ||||
|       </activity> | ||||
|     </application> | ||||
| </manifest> | ||||
| <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="xyz.blueskyweb.app"> | ||||
|   <uses-permission android:name="android.permission.INTERNET"/> | ||||
|   <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/> | ||||
|   <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/> | ||||
|   <uses-permission android:name="android.permission.VIBRATE"/> | ||||
|   <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> | ||||
|   <queries> | ||||
|     <intent> | ||||
|       <action android:name="android.intent.action.VIEW"/> | ||||
|       <category android:name="android.intent.category.BROWSABLE"/> | ||||
|       <data android:scheme="https"/> | ||||
|     </intent> | ||||
|   </queries> | ||||
|   <application android:name=".MainApplication" android:label="@string/app_name" android:icon="@mipmap/ic_launcher" android:roundIcon="@mipmap/ic_launcher_round" android:allowBackup="true" android:theme="@style/AppTheme" android:usesCleartextTraffic="true"> | ||||
|     <meta-data android:name="expo.modules.updates.ENABLED" android:value="true"/> | ||||
|     <meta-data android:name="expo.modules.updates.EXPO_SDK_VERSION" android:value="48.0.0"/> | ||||
|     <meta-data android:name="expo.modules.updates.EXPO_UPDATES_CHECK_ON_LAUNCH" android:value="ALWAYS"/> | ||||
|     <meta-data android:name="expo.modules.updates.EXPO_UPDATES_LAUNCH_WAIT_MS" android:value="0"/> | ||||
|     <meta-data android:name="expo.modules.updates.EXPO_UPDATE_URL" android:value="https://exp.host/@arrygoo/bluesky"/> <!-- TODO --> | ||||
|     <activity android:name=".MainActivity" android:label="@string/app_name" android:configChanges="keyboard|keyboardHidden|orientation|screenSize|uiMode" android:launchMode="singleTask" android:windowSoftInputMode="adjustResize" android:theme="@style/Theme.App.SplashScreen" android:exported="true" android:screenOrientation="portrait"> | ||||
|       <intent-filter> | ||||
|         <action android:name="android.intent.action.MAIN"/> | ||||
|         <category android:name="android.intent.category.LAUNCHER"/> | ||||
|       </intent-filter> | ||||
|       <intent-filter> | ||||
|         <action android:name="android.intent.action.VIEW"/> | ||||
|         <category android:name="android.intent.category.DEFAULT"/> | ||||
|         <category android:name="android.intent.category.BROWSABLE"/> | ||||
|         <data android:scheme="xyz.blueskyweb.app"/> | ||||
|         <data android:scheme="exp+bluesky"/> | ||||
|       </intent-filter> | ||||
|     </activity> | ||||
|     <activity android:name="com.facebook.react.devsupport.DevSettingsActivity" android:exported="false"/> | ||||
|   </application> | ||||
| </manifest> | ||||
|  | @ -0,0 +1,68 @@ | |||
| package xyz.blueskyweb.app; | ||||
| 
 | ||||
| import android.os.Build; | ||||
| import android.os.Bundle; | ||||
| 
 | ||||
| import com.facebook.react.ReactActivity; | ||||
| import com.facebook.react.ReactActivityDelegate; | ||||
| import com.facebook.react.defaults.DefaultNewArchitectureEntryPoint; | ||||
| import com.facebook.react.defaults.DefaultReactActivityDelegate; | ||||
| 
 | ||||
| import expo.modules.ReactActivityDelegateWrapper; | ||||
| 
 | ||||
| public class MainActivity extends ReactActivity { | ||||
|   @Override | ||||
|   protected void onCreate(Bundle savedInstanceState) { | ||||
|     // Set the theme to AppTheme BEFORE onCreate to support  | ||||
|     // coloring the background, status bar, and navigation bar. | ||||
|     // This is required for expo-splash-screen. | ||||
|     setTheme(R.style.AppTheme); | ||||
|     super.onCreate(null); | ||||
|   } | ||||
| 
 | ||||
|   /** | ||||
|    * Returns the name of the main component registered from JavaScript. | ||||
|    * This is used to schedule rendering of the component. | ||||
|    */ | ||||
|   @Override | ||||
|   protected String getMainComponentName() { | ||||
|     return "main"; | ||||
|   } | ||||
| 
 | ||||
|   /** | ||||
|    * Returns the instance of the {@link ReactActivityDelegate}. Here we use a util class {@link | ||||
|    * DefaultReactActivityDelegate} which allows you to easily enable Fabric and Concurrent React | ||||
|    * (aka React 18) with two boolean flags. | ||||
|    */ | ||||
|   @Override | ||||
|   protected ReactActivityDelegate createReactActivityDelegate() { | ||||
|     return new ReactActivityDelegateWrapper(this, BuildConfig.IS_NEW_ARCHITECTURE_ENABLED, new DefaultReactActivityDelegate( | ||||
|         this, | ||||
|         getMainComponentName(), | ||||
|         // If you opted-in for the New Architecture, we enable the Fabric Renderer. | ||||
|         DefaultNewArchitectureEntryPoint.getFabricEnabled(), // fabricEnabled | ||||
|         // If you opted-in for the New Architecture, we enable Concurrent React (i.e. React 18). | ||||
|         DefaultNewArchitectureEntryPoint.getConcurrentReactEnabled() // concurrentRootEnabled | ||||
|         )); | ||||
|   } | ||||
| 
 | ||||
|   /** | ||||
|    * Align the back button behavior with Android S | ||||
|    * where moving root activities to background instead of finishing activities. | ||||
|    * @see <a href="https://developer.android.com/reference/android/app/Activity#onBackPressed()">onBackPressed</a> | ||||
|    */ | ||||
|   @Override | ||||
|   public void invokeDefaultOnBackPressed() { | ||||
|     if (Build.VERSION.SDK_INT <= Build.VERSION_CODES.R) { | ||||
|       if (!moveTaskToBack(false)) { | ||||
|         // For non-root activities, use the default implementation to finish them. | ||||
|         super.invokeDefaultOnBackPressed(); | ||||
|       } | ||||
|       return; | ||||
|     } | ||||
| 
 | ||||
|     // Use the default back button implementation on Android S | ||||
|     // because it's doing more than {@link Activity#moveTaskToBack} in fact. | ||||
|     super.invokeDefaultOnBackPressed(); | ||||
|   } | ||||
| } | ||||
|  | @ -0,0 +1,76 @@ | |||
| package xyz.blueskyweb.app; | ||||
| 
 | ||||
| import android.app.Application; | ||||
| import android.content.res.Configuration; | ||||
| import androidx.annotation.NonNull; | ||||
| 
 | ||||
| import com.facebook.react.PackageList; | ||||
| import com.facebook.react.ReactApplication; | ||||
| import com.facebook.react.ReactNativeHost; | ||||
| import com.facebook.react.ReactPackage; | ||||
| import com.facebook.react.defaults.DefaultNewArchitectureEntryPoint; | ||||
| import com.facebook.react.defaults.DefaultReactNativeHost; | ||||
| import com.facebook.soloader.SoLoader; | ||||
| 
 | ||||
| import expo.modules.ApplicationLifecycleDispatcher; | ||||
| import expo.modules.ReactNativeHostWrapper; | ||||
| 
 | ||||
| import java.util.List; | ||||
| 
 | ||||
| public class MainApplication extends Application implements ReactApplication { | ||||
| 
 | ||||
|   private final ReactNativeHost mReactNativeHost = | ||||
|     new ReactNativeHostWrapper(this, new DefaultReactNativeHost(this) { | ||||
|       @Override | ||||
|       public boolean getUseDeveloperSupport() { | ||||
|         return BuildConfig.DEBUG; | ||||
|       } | ||||
| 
 | ||||
|       @Override | ||||
|       protected List<ReactPackage> getPackages() { | ||||
|         @SuppressWarnings("UnnecessaryLocalVariable") | ||||
|         List<ReactPackage> 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 boolean isNewArchEnabled() { | ||||
|         return BuildConfig.IS_NEW_ARCHITECTURE_ENABLED; | ||||
|       } | ||||
| 
 | ||||
|       @Override | ||||
|       protected Boolean isHermesEnabled() { | ||||
|         return BuildConfig.IS_HERMES_ENABLED; | ||||
|       } | ||||
|   }); | ||||
| 
 | ||||
|   @Override | ||||
|   public ReactNativeHost getReactNativeHost() { | ||||
|     return mReactNativeHost; | ||||
|   } | ||||
| 
 | ||||
|   @Override | ||||
|   public void onCreate() { | ||||
|     super.onCreate(); | ||||
|     SoLoader.init(this, /* native exopackage */ false); | ||||
|     if (BuildConfig.IS_NEW_ARCHITECTURE_ENABLED) { | ||||
|       // If you opted-in for the New Architecture, we load the native entry point for this app. | ||||
|       DefaultNewArchitectureEntryPoint.load(); | ||||
|     } | ||||
|     ReactNativeFlipper.initializeFlipper(this, getReactNativeHost().getReactInstanceManager()); | ||||
|     ApplicationLifecycleDispatcher.onApplicationCreate(this); | ||||
|   } | ||||
| 
 | ||||
|   @Override | ||||
|   public void onConfigurationChanged(@NonNull Configuration newConfig) { | ||||
|     super.onConfigurationChanged(newConfig); | ||||
|     ApplicationLifecycleDispatcher.onConfigurationChanged(this, newConfig); | ||||
|   } | ||||
| } | ||||
|  | @ -1,36 +0,0 @@ | |||
| package xyz.blueskyweb.app; | ||||
| 
 | ||||
| import com.facebook.react.ReactActivity; | ||||
| import com.facebook.react.ReactActivityDelegate; | ||||
| import com.facebook.react.defaults.DefaultNewArchitectureEntryPoint; | ||||
| import com.facebook.react.defaults.DefaultReactActivityDelegate; | ||||
| import android.os.Bundle; | ||||
| 
 | ||||
| public class MainActivity extends ReactActivity { | ||||
| 
 | ||||
|   /** | ||||
|    * Returns the name of the main component registered from JavaScript. This is used to schedule | ||||
|    * rendering of the component. | ||||
|    */ | ||||
|   @Override | ||||
|   protected String getMainComponentName() { | ||||
|     return "xyz.blueskyweb.app"; | ||||
|   } | ||||
| 
 | ||||
|   /** | ||||
|    * Returns the instance of the {@link ReactActivityDelegate}. Here we use a util class {@link | ||||
|    * DefaultReactActivityDelegate} which allows you to easily enable Fabric and Concurrent React | ||||
|    * (aka React 18) with two boolean flags. | ||||
|    */ | ||||
|   @Override | ||||
|   protected ReactActivityDelegate createReactActivityDelegate() { | ||||
|     return new DefaultReactActivityDelegate( | ||||
|       this, | ||||
|       getMainComponentName(), | ||||
|       // If you opted-in for the New Architecture, we enable the Fabric Renderer. | ||||
|       DefaultNewArchitectureEntryPoint.getFabricEnabled(), // fabricEnabled | ||||
|       // If you opted-in for the New Architecture, we enable Concurrent React (i.e. React 18). | ||||
|       DefaultNewArchitectureEntryPoint.getConcurrentReactEnabled() // concurrentRootEnabled | ||||
|     ); | ||||
|   } | ||||
| } | ||||
|  | @ -1,65 +0,0 @@ | |||
| package xyz.blueskyweb.app; | ||||
| 
 | ||||
| import android.app.Application; | ||||
| import com.facebook.react.PackageList; | ||||
| import com.facebook.react.ReactApplication; | ||||
| import com.facebook.react.ReactNativeHost; | ||||
| import com.facebook.react.ReactPackage; | ||||
| import com.facebook.react.defaults.DefaultNewArchitectureEntryPoint; | ||||
| import com.facebook.react.defaults.DefaultReactNativeHost; | ||||
| import com.facebook.soloader.SoLoader; | ||||
| import xyz.blueskyweb.app.newarchitecture.MainApplicationReactNativeHost; | ||||
| import java.lang.reflect.InvocationTargetException; | ||||
| import java.util.List; | ||||
| 
 | ||||
| public class MainApplication extends Application implements ReactApplication { | ||||
| 
 | ||||
|   private final ReactNativeHost mReactNativeHost = | ||||
|       new DefaultReactNativeHost(this) { | ||||
|         @Override | ||||
|         public boolean getUseDeveloperSupport() { | ||||
|           return BuildConfig.DEBUG; | ||||
|         } | ||||
| 
 | ||||
|         @Override | ||||
|         protected List<ReactPackage> getPackages() { | ||||
|           @SuppressWarnings("UnnecessaryLocalVariable") | ||||
|           List<ReactPackage> 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 boolean isNewArchEnabled() { | ||||
|           return BuildConfig.IS_NEW_ARCHITECTURE_ENABLED; | ||||
|         } | ||||
|         @Override | ||||
|         protected Boolean isHermesEnabled() { | ||||
|           return BuildConfig.IS_HERMES_ENABLED; | ||||
|         } | ||||
|       }; | ||||
| 
 | ||||
|   @Override | ||||
|   public ReactNativeHost getReactNativeHost() { | ||||
|     return mReactNativeHost; | ||||
|   } | ||||
| 
 | ||||
|   @Override | ||||
|   public void onCreate() { | ||||
|     super.onCreate(); | ||||
|     // If you opted-in for the New Architecture, we enable the TurboModule system | ||||
|     ReactFeatureFlags.useTurboModules = BuildConfig.IS_NEW_ARCHITECTURE_ENABLED; | ||||
|     SoLoader.init(this, /* native exopackage */ false); | ||||
|     if (BuildConfig.IS_NEW_ARCHITECTURE_ENABLED) { | ||||
|       // If you opted-in for the New Architecture, we load the native entry point for this app. | ||||
|       DefaultNewArchitectureEntryPoint.load(); | ||||
|     } | ||||
|     ReactNativeFlipper.initializeFlipper(this, getReactNativeHost().getReactInstanceManager()); | ||||
|   } | ||||
| } | ||||
|  | @ -1,49 +0,0 @@ | |||
| THIS_DIR := $(call my-dir) | ||||
| 
 | ||||
| include $(REACT_ANDROID_DIR)/Android-prebuilt.mk | ||||
| 
 | ||||
| # If you wish to add a custom TurboModule or Fabric component in your app you
 | ||||
| # will have to include the following autogenerated makefile.
 | ||||
| # include $(GENERATED_SRC_DIR)/codegen/jni/Android.mk
 | ||||
| include $(CLEAR_VARS) | ||||
| 
 | ||||
| LOCAL_PATH := $(THIS_DIR) | ||||
| 
 | ||||
| # You can customize the name of your application .so file here.
 | ||||
| LOCAL_MODULE := app_appmodules | ||||
| 
 | ||||
| LOCAL_C_INCLUDES := $(LOCAL_PATH) | ||||
| LOCAL_SRC_FILES := $(wildcard $(LOCAL_PATH)/*.cpp) | ||||
| LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH) | ||||
| 
 | ||||
| # If you wish to add a custom TurboModule or Fabric component in your app you
 | ||||
| # will have to uncomment those lines to include the generated source 
 | ||||
| # files from the codegen (placed in $(GENERATED_SRC_DIR)/codegen/jni)
 | ||||
| #
 | ||||
| # LOCAL_C_INCLUDES += $(GENERATED_SRC_DIR)/codegen/jni
 | ||||
| # LOCAL_SRC_FILES += $(wildcard $(GENERATED_SRC_DIR)/codegen/jni/*.cpp)
 | ||||
| # LOCAL_EXPORT_C_INCLUDES += $(GENERATED_SRC_DIR)/codegen/jni
 | ||||
| 
 | ||||
| # Here you should add any native library you wish to depend on.
 | ||||
| LOCAL_SHARED_LIBRARIES := \
 | ||||
|   libfabricjni \
 | ||||
|   libfbjni \
 | ||||
|   libfolly_futures \
 | ||||
|   libfolly_json \
 | ||||
|   libglog \
 | ||||
|   libjsi \
 | ||||
|   libreact_codegen_rncore \
 | ||||
|   libreact_debug \
 | ||||
|   libreact_nativemodule_core \
 | ||||
|   libreact_render_componentregistry \
 | ||||
|   libreact_render_core \
 | ||||
|   libreact_render_debug \
 | ||||
|   libreact_render_graphics \
 | ||||
|   librrc_view \
 | ||||
|   libruntimeexecutor \
 | ||||
|   libturbomodulejsijni \
 | ||||
|   libyoga | ||||
| 
 | ||||
| LOCAL_CFLAGS := -DLOG_TAG=\"ReactNative\" -fexceptions -frtti -std=c++17 -Wall | ||||
| 
 | ||||
| include $(BUILD_SHARED_LIBRARY) | ||||
|  | @ -1,13 +1,15 @@ | |||
| import org.apache.tools.ant.taskdefs.condition.Os | ||||
| 
 | ||||
| // Top-level build file where you can add configuration options common to all sub-projects/modules. | ||||
| 
 | ||||
| buildscript { | ||||
|     ext { | ||||
|         buildToolsVersion = "33.0.0" | ||||
|         minSdkVersion = 21 | ||||
|         compileSdkVersion = 33 | ||||
|         targetSdkVersion = 33 | ||||
|         buildToolsVersion = findProperty('android.buildToolsVersion') ?: '33.0.0' | ||||
|         minSdkVersion = Integer.parseInt(findProperty('android.minSdkVersion') ?: '21') | ||||
|         compileSdkVersion = Integer.parseInt(findProperty('android.compileSdkVersion') ?: '33') | ||||
|         targetSdkVersion = Integer.parseInt(findProperty('android.targetSdkVersion') ?: '33') | ||||
|         if (findProperty('android.kotlinVersion')) { | ||||
|             kotlinVersion = findProperty('android.kotlinVersion') | ||||
|         } | ||||
|         frescoVersion = findProperty('expo.frescoVersion') ?: '2.5.0' | ||||
| 
 | ||||
|         // We use NDK 23 which has both M1 support and is the side-by-side NDK version from AGP. | ||||
|         ndkVersion = "23.1.7779620" | ||||
|  | @ -17,7 +19,24 @@ buildscript { | |||
|         mavenCentral() | ||||
|     } | ||||
|     dependencies { | ||||
|         classpath("com.android.tools.build:gradle:7.3.1") | ||||
|         classpath("com.facebook.react:react-native-gradle-plugin") | ||||
|         classpath('com.android.tools.build:gradle:7.3.1') | ||||
|         classpath('com.facebook.react:react-native-gradle-plugin') | ||||
|     } | ||||
| } | ||||
| 
 | ||||
| allprojects { | ||||
|     repositories { | ||||
|         maven { | ||||
|             // All of React Native (JS, Obj-C sources, Android binaries) is installed from npm | ||||
|             url(new File(['node', '--print', "require.resolve('react-native/package.json')"].execute(null, rootDir).text.trim(), '../android')) | ||||
|         } | ||||
|         maven { | ||||
|             // Android JSC is installed from npm | ||||
|             url(new File(['node', '--print', "require.resolve('jsc-android/package.json')"].execute(null, rootDir).text.trim(), '../dist')) | ||||
|         } | ||||
| 
 | ||||
|         google() | ||||
|         mavenCentral() | ||||
|         maven { url 'https://www.jitpack.io' } | ||||
|     } | ||||
| } | ||||
|  |  | |||
|  | @ -21,6 +21,7 @@ org.gradle.jvmargs=-Xmx2048m -XX:MaxMetaspaceSize=512m | |||
| # Android operating system, and which are packaged with your app's APK | ||||
| # https://developer.android.com/topic/libraries/support-library/androidx-rn | ||||
| android.useAndroidX=true | ||||
| 
 | ||||
| # Automatically convert third-party libraries to use AndroidX | ||||
| android.enableJetifier=true | ||||
| 
 | ||||
|  | @ -39,6 +40,14 @@ reactNativeArchitectures=armeabi-v7a,arm64-v8a,x86,x86_64 | |||
| # are providing them. | ||||
| newArchEnabled=false | ||||
| 
 | ||||
| # Use this property to enable or disable the Hermes JS engine. | ||||
| # If set to false, you will be using JSC instead. | ||||
| hermesEnabled=true | ||||
| # The hosted JavaScript engine | ||||
| # Supported values: expo.jsEngine = "hermes" | "jsc" | ||||
| expo.jsEngine=hermes | ||||
| 
 | ||||
| # Enable GIF support in React Native images (~200 B increase) | ||||
| expo.gif.enabled=true | ||||
| # Enable webp support in React Native images (~85 KB increase) | ||||
| expo.webp.enabled=true | ||||
| # Enable animated webp support (~3.4 MB increase) | ||||
| # Disabled by default because iOS doesn't support animated webp | ||||
| expo.webp.animated=false | ||||
|  |  | |||
							
								
								
									
										6
									
								
								android/gradlew
									
										
									
									
										vendored
									
									
								
							
							
						
						|  | @ -205,6 +205,12 @@ set -- \ | |||
|         org.gradle.wrapper.GradleWrapperMain \ | ||||
|         "$@" | ||||
| 
 | ||||
| # Stop when "xargs" is not available. | ||||
| if ! command -v xargs >/dev/null 2>&1 | ||||
| then | ||||
|     die "xargs is not available" | ||||
| fi | ||||
| 
 | ||||
| # Use "xargs" to parse quoted args. | ||||
| # | ||||
| # With -n1 it outputs one arg per line, with the quotes and backslashes removed. | ||||
|  |  | |||
							
								
								
									
										14
									
								
								android/gradlew.bat
									
										
									
									
										vendored
									
									
								
							
							
						
						|  | @ -14,7 +14,7 @@ | |||
| @rem limitations under the License. | ||||
| @rem | ||||
| 
 | ||||
| @if "%DEBUG%" == "" @echo off | ||||
| @if "%DEBUG%"=="" @echo off | ||||
| @rem ########################################################################## | ||||
| @rem | ||||
| @rem  Gradle startup script for Windows | ||||
|  | @ -25,7 +25,7 @@ | |||
| if "%OS%"=="Windows_NT" setlocal | ||||
| 
 | ||||
| set DIRNAME=%~dp0 | ||||
| if "%DIRNAME%" == "" set DIRNAME=. | ||||
| if "%DIRNAME%"=="" set DIRNAME=. | ||||
| set APP_BASE_NAME=%~n0 | ||||
| set APP_HOME=%DIRNAME% | ||||
| 
 | ||||
|  | @ -40,7 +40,7 @@ if defined JAVA_HOME goto findJavaFromJavaHome | |||
| 
 | ||||
| set JAVA_EXE=java.exe | ||||
| %JAVA_EXE% -version >NUL 2>&1 | ||||
| if "%ERRORLEVEL%" == "0" goto execute | ||||
| if %ERRORLEVEL% equ 0 goto execute | ||||
| 
 | ||||
| echo. | ||||
| echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. | ||||
|  | @ -75,13 +75,15 @@ set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar | |||
| 
 | ||||
| :end | ||||
| @rem End local scope for the variables with windows NT shell | ||||
| if "%ERRORLEVEL%"=="0" goto mainEnd | ||||
| if %ERRORLEVEL% equ 0 goto mainEnd | ||||
| 
 | ||||
| :fail | ||||
| rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of | ||||
| rem the _cmd.exe /c_ return code! | ||||
| if  not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 | ||||
| exit /b 1 | ||||
| set EXIT_CODE=%ERRORLEVEL% | ||||
| if %EXIT_CODE% equ 0 set EXIT_CODE=1 | ||||
| if not ""=="%GRADLE_EXIT_CONSOLE%" exit %EXIT_CODE% | ||||
| exit /b %EXIT_CODE% | ||||
| 
 | ||||
| :mainEnd | ||||
| if "%OS%"=="Windows_NT" endlocal | ||||
|  |  | |||
|  | @ -1,6 +1,10 @@ | |||
| rootProject.name = 'app' | ||||
| apply from: file("../node_modules/@react-native-community/cli-platform-android/native_modules.gradle"); applyNativeModulesSettingsGradle(settings) | ||||
| rootProject.name = 'bluesky' | ||||
| 
 | ||||
| apply from: new File(["node", "--print", "require.resolve('expo/package.json')"].execute(null, rootDir).text.trim(), "../scripts/autolinking.gradle"); | ||||
| useExpoModules() | ||||
| 
 | ||||
| apply from: new File(["node", "--print", "require.resolve('@react-native-community/cli-platform-android/package.json')"].execute(null, rootDir).text.trim(), "../native_modules.gradle"); | ||||
| applyNativeModulesSettingsGradle(settings) | ||||
| 
 | ||||
| include ':app' | ||||
| includeBuild('../node_modules/react-native-gradle-plugin') | ||||
| include ':rn-fetch-blob' | ||||
| project(':rn-fetch-blob').projectDir = new File(rootProject.projectDir, '../node_modules/rn-fetch-blob/android') | ||||
| includeBuild(new File(["node", "--print", "require.resolve('react-native-gradle-plugin/package.json')"].execute(null, rootDir).text.trim()).getParentFile()) | ||||
|  |  | |||
							
								
								
									
										29
									
								
								app.json
									
										
									
									
									
										Normal file
									
								
							
							
						
						|  | @ -0,0 +1,29 @@ | |||
| { | ||||
|   "expo": { | ||||
|     "name": "bluesky", | ||||
|     "slug": "bluesky", | ||||
|     "version": "1.7.0", | ||||
|     "orientation": "portrait", | ||||
|     "icon": "./assets/icon.png", | ||||
|     "userInterfaceStyle": "light", | ||||
|     "splash": { | ||||
|       "image": "./assets/splash.png", | ||||
|       "resizeMode": "contain", | ||||
|       "backgroundColor": "#ffffff" | ||||
|     }, | ||||
|     "ios": { | ||||
|       "supportsTablet": false, | ||||
|       "bundleIdentifier": "xyz.blueskyweb.app" | ||||
|     }, | ||||
|     "android": { | ||||
|       "adaptiveIcon": { | ||||
|         "foregroundImage": "./assets/adaptive-icon.png", | ||||
|         "backgroundColor": "#ffffff" | ||||
|       }, | ||||
|       "package": "xyz.blueskyweb.app" | ||||
|     }, | ||||
|     "web": { | ||||
|       "favicon": "./assets/favicon.png" | ||||
|     } | ||||
|   } | ||||
| } | ||||
| Before Width: | Height: | Size: 1.1 MiB After Width: | Height: | Size: 1.1 MiB | 
| Before Width: | Height: | Size: 696 KiB After Width: | Height: | Size: 696 KiB | 
| Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 14 KiB | 
							
								
								
									
										
											BIN
										
									
								
								assets/favicon.png
									
										
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 2.5 KiB | 
							
								
								
									
										
											BIN
										
									
								
								assets/icon.png
									
										
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 1.1 MiB | 
| Before Width: | Height: | Size: 78 KiB After Width: | Height: | Size: 78 KiB | 
|  | @ -1,31 +1,34 @@ | |||
| module.exports = { | ||||
|   presets: ['module:metro-react-native-babel-preset'], | ||||
|   plugins: [ | ||||
|     [ | ||||
|       'module:react-native-dotenv', | ||||
|       { | ||||
|         envName: 'APP_ENV', | ||||
|         moduleName: '@env', | ||||
|         path: '.env', | ||||
|         blocklist: null, | ||||
|         allowlist: null, | ||||
|         safe: false, | ||||
|         allowUndefined: true, | ||||
|         verbose: false, | ||||
|       }, | ||||
|     ], | ||||
|     [ | ||||
|       'module-resolver', | ||||
|       { | ||||
|         alias: { | ||||
|           // This needs to be mirrored in tsconfig.json
 | ||||
|           lib: './src/lib', | ||||
|           platform: './src/platform', | ||||
|           state: './src/state', | ||||
|           view: './src/view', | ||||
| module.exports = function (api) { | ||||
|   api.cache(true) | ||||
|   return { | ||||
|     presets: ['babel-preset-expo'], | ||||
|     plugins: [ | ||||
|       [ | ||||
|         'module:react-native-dotenv', | ||||
|         { | ||||
|           envName: 'APP_ENV', | ||||
|           moduleName: '@env', | ||||
|           path: '.env', | ||||
|           blocklist: null, | ||||
|           allowlist: null, | ||||
|           safe: false, | ||||
|           allowUndefined: true, | ||||
|           verbose: false, | ||||
|         }, | ||||
|       }, | ||||
|       ], | ||||
|       [ | ||||
|         'module-resolver', | ||||
|         { | ||||
|           alias: { | ||||
|             // This needs to be mirrored in tsconfig.json
 | ||||
|             lib: './src/lib', | ||||
|             platform: './src/platform', | ||||
|             state: './src/state', | ||||
|             view: './src/view', | ||||
|           }, | ||||
|         }, | ||||
|       ], | ||||
|       'react-native-reanimated/plugin', // NOTE: this plugin MUST be last
 | ||||
|     ], | ||||
|     'react-native-reanimated/plugin', // NOTE: this plugin MUST be last
 | ||||
|   ], | ||||
|   } | ||||
| } | ||||
|  |  | |||
							
								
								
									
										18
									
								
								index.js
									
										
									
									
									
								
							
							
						
						|  | @ -1,10 +1,14 @@ | |||
| /** | ||||
|  * @format | ||||
|  */ | ||||
| import 'react-native-gesture-handler' // must be first
 | ||||
| 
 | ||||
| import {LogBox} from 'react-native' | ||||
| LogBox.ignoreLogs(['Require cycle:']) // suppress require-cycle warnings, it's fine
 | ||||
| 
 | ||||
| import 'platform/polyfills' | ||||
| import {AppRegistry} from 'react-native' | ||||
| import App from './src/App' | ||||
| import {name as appName} from './src/app.json' | ||||
| import {registerRootComponent} from 'expo' | ||||
| 
 | ||||
| AppRegistry.registerComponent(appName, () => App) | ||||
| import App from './src/App' | ||||
| 
 | ||||
| // registerRootComponent calls AppRegistry.registerComponent('main', () => App);
 | ||||
| // It also ensures that whether you load the app in Expo Go or in a native build,
 | ||||
| // the environment is set up appropriately
 | ||||
| registerRootComponent(App) | ||||
|  |  | |||
							
								
								
									
										14
									
								
								index.web.js
									
										
									
									
									
								
							
							
						
						|  | @ -1,14 +1,4 @@ | |||
| // index.web.js
 | ||||
| 
 | ||||
| import 'platform/polyfills' | ||||
| import {AppRegistry} from 'react-native' | ||||
| import {registerRootComponent} from 'expo' | ||||
| import App from './src/App' | ||||
| import {name as appName} from './src/app.json' | ||||
| 
 | ||||
| // register the app
 | ||||
| AppRegistry.registerComponent(appName, () => App) | ||||
| 
 | ||||
| AppRegistry.runApplication(appName, { | ||||
|   initialProps: {}, | ||||
|   rootTag: document.getElementById('app-root'), | ||||
| }) | ||||
| registerRootComponent(App) | ||||
|  |  | |||
							
								
								
									
										1
									
								
								ios/.xcode.env.local
									
										
									
									
									
										Normal file
									
								
							
							
						
						|  | @ -0,0 +1 @@ | |||
| export NODE_BINARY="/Users/paulfrazee/.nvm/versions/node/v18.8.0/bin/node" | ||||
|  | @ -1,43 +0,0 @@ | |||
| <?xml version="1.0" encoding="UTF-8"?> | ||||
| <document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="21507" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES" initialViewController="Y6W-OH-hqX"> | ||||
|     <device id="retina6_12" orientation="portrait" appearance="light"/> | ||||
|     <dependencies> | ||||
|         <deployment identifier="iOS"/> | ||||
|         <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="21505"/> | ||||
|         <capability name="System colors in document resources" minToolsVersion="11.0"/> | ||||
|         <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/> | ||||
|     </dependencies> | ||||
|     <scenes> | ||||
|         <!--View Controller--> | ||||
|         <scene sceneID="s0d-6b-0kx"> | ||||
|             <objects> | ||||
|                 <viewController id="Y6W-OH-hqX" sceneMemberID="viewController"> | ||||
|                     <view key="view" contentMode="scaleToFill" id="5EZ-qb-Rvc"> | ||||
|                         <rect key="frame" x="0.0" y="0.0" width="393" height="852"/> | ||||
|                         <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/> | ||||
|                         <subviews> | ||||
|                             <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFill" image="LaunchScreen" translatesAutoresizingMaskIntoConstraints="NO" id="Ppr-Vi-7AA"> | ||||
|                                 <rect key="frame" x="0.0" y="0.0" width="393" height="852"/> | ||||
|                             </imageView> | ||||
|                         </subviews> | ||||
|                         <color key="backgroundColor" systemColor="systemBackgroundColor"/> | ||||
|                         <constraints> | ||||
|                             <constraint firstAttribute="trailing" secondItem="Ppr-Vi-7AA" secondAttribute="trailing" id="8NR-sO-ZhN"/> | ||||
|                             <constraint firstItem="Ppr-Vi-7AA" firstAttribute="top" secondItem="5EZ-qb-Rvc" secondAttribute="top" id="Od5-pK-zM2"/> | ||||
|                             <constraint firstItem="Ppr-Vi-7AA" firstAttribute="leading" secondItem="5EZ-qb-Rvc" secondAttribute="leading" id="Ww6-nx-IYo"/> | ||||
|                             <constraint firstAttribute="bottom" secondItem="Ppr-Vi-7AA" secondAttribute="bottom" id="vTP-N3-Ihm"/> | ||||
|                         </constraints> | ||||
|                     </view> | ||||
|                 </viewController> | ||||
|                 <placeholder placeholderIdentifier="IBFirstResponder" id="Ief-a0-LHa" userLabel="First Responder" customClass="UIResponder" sceneMemberID="firstResponder"/> | ||||
|             </objects> | ||||
|             <point key="canvasLocation" x="119.84732824427481" y="4.9295774647887329"/> | ||||
|         </scene> | ||||
|     </scenes> | ||||
|     <resources> | ||||
|         <image name="LaunchScreen" width="600" height="900"/> | ||||
|         <systemColor name="systemBackgroundColor"> | ||||
|             <color white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> | ||||
|         </systemColor> | ||||
|     </resources> | ||||
| </document> | ||||
							
								
								
									
										108
									
								
								ios/Podfile
									
										
									
									
									
								
							
							
						
						|  | @ -1,87 +1,91 @@ | |||
| require_relative '../node_modules/react-native/scripts/react_native_pods' | ||||
| require_relative '../node_modules/@react-native-community/cli-platform-ios/native_modules' | ||||
| require File.join(File.dirname(`node --print "require.resolve('expo/package.json')"`), "scripts/autolinking") | ||||
| require File.join(File.dirname(`node --print "require.resolve('react-native/package.json')"`), "scripts/react_native_pods") | ||||
| require File.join(File.dirname(`node --print "require.resolve('@react-native-community/cli-platform-ios/package.json')"`), "native_modules") | ||||
| 
 | ||||
| require 'json' | ||||
| podfile_properties = JSON.parse(File.read(File.join(__dir__, 'Podfile.properties.json'))) rescue {} | ||||
| 
 | ||||
| ENV['RCT_NEW_ARCH_ENABLED'] = podfile_properties['newArchEnabled'] == 'true' ? '1' : '0' | ||||
| 
 | ||||
| platform :ios, podfile_properties['ios.deploymentTarget'] || '13.0' | ||||
| install! 'cocoapods', | ||||
|   :deterministic_uuids => false | ||||
| 
 | ||||
| platform :ios, min_ios_version_supported | ||||
| prepare_react_native_project! | ||||
| 
 | ||||
| # If you are using a `react-native-flipper` your iOS build will fail when `NO_FLIPPER=1` is set. | ||||
| # because `react-native-flipper` depends on (FlipperKit,...) that will be excluded | ||||
| # because `react-native-flipper` depends on (FlipperKit,...), which will be excluded. To fix this, | ||||
| # you can also exclude `react-native-flipper` in `react-native.config.js` | ||||
| # | ||||
| # To fix this you can also exclude `react-native-flipper` using a `react-native.config.js` | ||||
| # ```js | ||||
| # module.exports = { | ||||
| #   dependencies: { | ||||
| #     ...(process.env.NO_FLIPPER ? { 'react-native-flipper': { platforms: { ios: null } } } : {}), | ||||
| #   } | ||||
| # } | ||||
| # ``` | ||||
| flipper_config = ENV['NO_FLIPPER'] == "1" ? FlipperConfiguration.disabled : FlipperConfiguration.enabled | ||||
| 
 | ||||
| linkage = ENV['USE_FRAMEWORKS'] | ||||
| if linkage != nil | ||||
|   Pod::UI.puts "Configuring Pod with #{linkage}ally linked Frameworks".green | ||||
|   use_frameworks! :linkage => linkage.to_sym | ||||
| flipper_config = FlipperConfiguration.disabled | ||||
| if ENV['NO_FLIPPER'] == "1" || ENV['CI'] then | ||||
|   # Explicitly disabled through environment variables | ||||
|   flipper_config = FlipperConfiguration.disabled | ||||
| elsif podfile_properties.key?('ios.flipper') then | ||||
|   # Configure Flipper in Podfile.properties.json | ||||
|   if podfile_properties['ios.flipper'] == 'true' then | ||||
|     flipper_config = FlipperConfiguration.enabled(["Debug", "Release"]) | ||||
|   elsif ppodfile_properties['ios.flipper'] != 'false' then | ||||
|     flipper_config = FlipperConfiguration.enabled(["Debug", "Release"], { 'Flipper' => podfile_properties['ios.flipper'] }) | ||||
|   end | ||||
| end | ||||
| 
 | ||||
| target 'app' do | ||||
|   pod 'React-RCTLinking', :path => '../node_modules/react-native/Libraries/LinkingIOS' | ||||
| 
 | ||||
| 
 | ||||
| target 'bluesky' do | ||||
|   use_expo_modules! | ||||
|   config = use_native_modules! | ||||
| 
 | ||||
|   use_frameworks! :linkage => podfile_properties['ios.useFrameworks'].to_sym if podfile_properties['ios.useFrameworks'] | ||||
|   use_frameworks! :linkage => ENV['USE_FRAMEWORKS'].to_sym if ENV['USE_FRAMEWORKS'] | ||||
| 
 | ||||
|   # Flags change depending on the env values. | ||||
|   flags = get_default_flags() | ||||
| 
 | ||||
|   use_react_native!( | ||||
|     :path => config[:reactNativePath], | ||||
|     # Hermes is now enabled by default. Disable by setting this flag to false. | ||||
|     # Upcoming versions of React Native may rely on get_default_flags(), but | ||||
|     # we make it explicit here to aid in the React Native upgrade process. | ||||
|     :hermes_enabled => flags[:hermes_enabled], | ||||
|     :hermes_enabled => podfile_properties['expo.jsEngine'] == nil || podfile_properties['expo.jsEngine'] == 'hermes', | ||||
|     :fabric_enabled => flags[:fabric_enabled], | ||||
|     # Enables Flipper. | ||||
|     # | ||||
|     # Note that if you have use_frameworks! enabled, Flipper will not work and | ||||
|     # you should disable the next line. | ||||
|     #:flipper_configuration => flipper_config, | ||||
|     # An absolute path to your application root. | ||||
|     :app_path => "#{Pod::Config.instance.installation_root}/.." | ||||
|     :app_path => "#{Pod::Config.instance.installation_root}/..", | ||||
|     # Note that if you have use_frameworks! enabled, Flipper will not work if enabled | ||||
|     :flipper_configuration => flipper_config | ||||
|   ) | ||||
| 
 | ||||
|   # react-native-permissions settings | ||||
|   permissions_path = '../node_modules/react-native-permissions/ios' | ||||
|   pod 'Permission-Camera', :path => "#{permissions_path}/Camera" | ||||
|   pod 'Permission-PhotoLibrary', :path => "#{permissions_path}/PhotoLibrary" | ||||
| 
 | ||||
|   target 'appTests' do | ||||
|     inherit! :complete | ||||
|     # Pods for testing | ||||
|   end | ||||
| 
 | ||||
|   post_install do |installer| | ||||
|     # Temporary fix until CocoaPods 1.12.0 is released. | ||||
|     # https://github.com/CocoaPods/CocoaPods/issues/11402#issuecomment-1201464693 | ||||
|     installer.pods_project.targets.each do |target| | ||||
|       if target.respond_to?(:product_type) and target.product_type == "com.apple.product-type.bundle" | ||||
|         target.build_configurations.each do |config| | ||||
|             config.build_settings['CODE_SIGNING_ALLOWED'] = 'NO' | ||||
|         end | ||||
|       end | ||||
|     end   | ||||
| 
 | ||||
| 
 | ||||
|     react_native_post_install( | ||||
|       installer, | ||||
|       config[:reactNativePath], | ||||
|       # Set `mac_catalyst_enabled` to `true` in order to apply patches | ||||
|       # necessary for Mac Catalyst builds | ||||
|       :mac_catalyst_enabled => false | ||||
|     ) | ||||
|     __apply_Xcode_12_5_M1_post_install_workaround(installer) | ||||
| 
 | ||||
|     # iOS fix | ||||
|     installer.pods_project.build_configurations.each do |config| | ||||
|       config.build_settings["EXCLUDED_ARCHS[sdk=iphonesimulator*]"] = "arm64" | ||||
|     end | ||||
|     installer.pods_project.targets.each do |target| | ||||
|       target.build_configurations.each do |config| | ||||
|         config.build_settings['ONLY_ACTIVE_ARCH'] = 'YES' | ||||
|     # This is necessary for Xcode 14, because it signs resource bundles by default | ||||
|     # when building for devices. | ||||
|     installer.target_installation_results.pod_target_installation_results | ||||
|       .each do |pod_name, target_installation_result| | ||||
|       target_installation_result.resource_bundle_targets.each do |resource_bundle_target| | ||||
|         resource_bundle_target.build_configurations.each do |config| | ||||
|           config.build_settings['CODE_SIGNING_ALLOWED'] = 'NO' | ||||
|         end | ||||
|       end | ||||
|     end | ||||
|   end | ||||
| end | ||||
| 
 | ||||
|   post_integrate do |installer| | ||||
|     begin | ||||
|       expo_patch_react_imports!(installer) | ||||
|     rescue => e | ||||
|       Pod::UI.warn e | ||||
|     end | ||||
|   end | ||||
| end | ||||
							
								
								
									
										704
									
								
								ios/Podfile.lock
									
										
									
									
									
								
							
							
						
						|  | @ -3,19 +3,124 @@ PODS: | |||
|   - BVLinearGradient (2.6.2): | ||||
|     - React-Core | ||||
|   - DoubleConversion (1.1.6) | ||||
|   - FBLazyVector (0.71.1) | ||||
|   - FBReactNativeSpec (0.71.1): | ||||
|   - EXApplication (5.1.1): | ||||
|     - ExpoModulesCore | ||||
|   - EXCamera (13.2.1): | ||||
|     - ExpoModulesCore | ||||
|   - EXConstants (14.2.1): | ||||
|     - ExpoModulesCore | ||||
|   - EXFileSystem (15.2.2): | ||||
|     - ExpoModulesCore | ||||
|   - EXFont (11.1.1): | ||||
|     - ExpoModulesCore | ||||
|   - EXImageLoader (4.1.1): | ||||
|     - ExpoModulesCore | ||||
|     - React-Core | ||||
|   - EXJSONUtils (0.5.1) | ||||
|   - EXManifests (0.5.2): | ||||
|     - EXJSONUtils | ||||
|   - EXMediaLibrary (15.2.2): | ||||
|     - ExpoModulesCore | ||||
|     - React-Core | ||||
|   - Expo (48.0.6): | ||||
|     - ExpoModulesCore | ||||
|   - expo-dev-client (2.1.5): | ||||
|     - EXManifests | ||||
|     - expo-dev-launcher | ||||
|     - expo-dev-menu | ||||
|     - expo-dev-menu-interface | ||||
|     - EXUpdatesInterface | ||||
|   - expo-dev-launcher (2.1.5): | ||||
|     - EXManifests | ||||
|     - expo-dev-launcher/Main (= 2.1.5) | ||||
|     - expo-dev-menu | ||||
|     - expo-dev-menu-interface | ||||
|     - ExpoModulesCore | ||||
|     - EXUpdatesInterface | ||||
|     - React-Core | ||||
|   - expo-dev-launcher/Main (2.1.5): | ||||
|     - EXManifests | ||||
|     - expo-dev-launcher/Unsafe | ||||
|     - expo-dev-menu | ||||
|     - expo-dev-menu-interface | ||||
|     - ExpoModulesCore | ||||
|     - EXUpdatesInterface | ||||
|     - React-Core | ||||
|   - expo-dev-launcher/Unsafe (2.1.5): | ||||
|     - EXManifests | ||||
|     - expo-dev-menu | ||||
|     - expo-dev-menu-interface | ||||
|     - ExpoModulesCore | ||||
|     - EXUpdatesInterface | ||||
|     - React-Core | ||||
|   - expo-dev-menu (2.1.3): | ||||
|     - expo-dev-menu/Main (= 2.1.3) | ||||
|   - expo-dev-menu-interface (1.1.1) | ||||
|   - expo-dev-menu/GestureHandler (2.1.3) | ||||
|   - expo-dev-menu/Main (2.1.3): | ||||
|     - EXManifests | ||||
|     - expo-dev-menu-interface | ||||
|     - expo-dev-menu/Vendored | ||||
|     - ExpoModulesCore | ||||
|     - React-Core | ||||
|   - expo-dev-menu/Reanimated (2.1.3): | ||||
|     - DoubleConversion | ||||
|     - FBLazyVector | ||||
|     - FBReactNativeSpec | ||||
|     - glog | ||||
|     - RCT-Folly | ||||
|     - RCTRequired | ||||
|     - RCTTypeSafety | ||||
|     - React-callinvoker | ||||
|     - React-Core | ||||
|     - React-Core/DevSupport | ||||
|     - React-Core/RCTWebSocket | ||||
|     - React-CoreModules | ||||
|     - React-cxxreact | ||||
|     - React-jsi | ||||
|     - React-jsiexecutor | ||||
|     - React-jsinspector | ||||
|     - React-RCTActionSheet | ||||
|     - React-RCTAnimation | ||||
|     - React-RCTBlob | ||||
|     - React-RCTImage | ||||
|     - React-RCTLinking | ||||
|     - React-RCTNetwork | ||||
|     - React-RCTSettings | ||||
|     - React-RCTText | ||||
|     - React-RCTVibration | ||||
|     - ReactCommon/turbomodule/core | ||||
|     - Yoga | ||||
|   - expo-dev-menu/SafeAreaView (2.1.3) | ||||
|   - expo-dev-menu/Vendored (2.1.3): | ||||
|     - expo-dev-menu/GestureHandler | ||||
|     - expo-dev-menu/Reanimated | ||||
|     - expo-dev-menu/SafeAreaView | ||||
|   - ExpoImagePicker (14.1.1): | ||||
|     - ExpoModulesCore | ||||
|   - ExpoKeepAwake (12.0.1): | ||||
|     - ExpoModulesCore | ||||
|   - ExpoModulesCore (1.2.4): | ||||
|     - React-Core | ||||
|     - React-RCTAppDelegate | ||||
|     - ReactCommon/turbomodule/core | ||||
|   - EXSplashScreen (0.18.1): | ||||
|     - ExpoModulesCore | ||||
|     - React-Core | ||||
|   - EXUpdatesInterface (0.9.1) | ||||
|   - FBLazyVector (0.71.3) | ||||
|   - FBReactNativeSpec (0.71.3): | ||||
|     - RCT-Folly (= 2021.07.22.00) | ||||
|     - RCTRequired (= 0.71.1) | ||||
|     - RCTTypeSafety (= 0.71.1) | ||||
|     - React-Core (= 0.71.1) | ||||
|     - React-jsi (= 0.71.1) | ||||
|     - ReactCommon/turbomodule/core (= 0.71.1) | ||||
|     - RCTRequired (= 0.71.3) | ||||
|     - RCTTypeSafety (= 0.71.3) | ||||
|     - React-Core (= 0.71.3) | ||||
|     - React-jsi (= 0.71.3) | ||||
|     - ReactCommon/turbomodule/core (= 0.71.3) | ||||
|   - fmt (6.2.1) | ||||
|   - glog (0.3.5) | ||||
|   - hermes-engine (0.71.1): | ||||
|     - hermes-engine/Pre-built (= 0.71.1) | ||||
|   - hermes-engine/Pre-built (0.71.1) | ||||
|   - hermes-engine (0.71.3): | ||||
|     - hermes-engine/Pre-built (= 0.71.3) | ||||
|   - hermes-engine/Pre-built (0.71.3) | ||||
|   - libevent (2.1.12) | ||||
|   - libwebp (1.2.4): | ||||
|     - libwebp/demux (= 1.2.4) | ||||
|  | @ -26,10 +131,6 @@ PODS: | |||
|   - libwebp/mux (1.2.4): | ||||
|     - libwebp/demux | ||||
|   - libwebp/webp (1.2.4) | ||||
|   - Permission-Camera (3.7.2): | ||||
|     - RNPermissions | ||||
|   - Permission-PhotoLibrary (3.7.2): | ||||
|     - RNPermissions | ||||
|   - RCT-Folly (2021.07.22.00): | ||||
|     - boost | ||||
|     - DoubleConversion | ||||
|  | @ -47,26 +148,26 @@ PODS: | |||
|     - fmt (~> 6.2.1) | ||||
|     - glog | ||||
|     - libevent | ||||
|   - RCTRequired (0.71.1) | ||||
|   - RCTTypeSafety (0.71.1): | ||||
|     - FBLazyVector (= 0.71.1) | ||||
|     - RCTRequired (= 0.71.1) | ||||
|     - React-Core (= 0.71.1) | ||||
|   - React (0.71.1): | ||||
|     - React-Core (= 0.71.1) | ||||
|     - React-Core/DevSupport (= 0.71.1) | ||||
|     - React-Core/RCTWebSocket (= 0.71.1) | ||||
|     - React-RCTActionSheet (= 0.71.1) | ||||
|     - React-RCTAnimation (= 0.71.1) | ||||
|     - React-RCTBlob (= 0.71.1) | ||||
|     - React-RCTImage (= 0.71.1) | ||||
|     - React-RCTLinking (= 0.71.1) | ||||
|     - React-RCTNetwork (= 0.71.1) | ||||
|     - React-RCTSettings (= 0.71.1) | ||||
|     - React-RCTText (= 0.71.1) | ||||
|     - React-RCTVibration (= 0.71.1) | ||||
|   - React-callinvoker (0.71.1) | ||||
|   - React-Codegen (0.71.1): | ||||
|   - RCTRequired (0.71.3) | ||||
|   - RCTTypeSafety (0.71.3): | ||||
|     - FBLazyVector (= 0.71.3) | ||||
|     - RCTRequired (= 0.71.3) | ||||
|     - React-Core (= 0.71.3) | ||||
|   - React (0.71.3): | ||||
|     - React-Core (= 0.71.3) | ||||
|     - React-Core/DevSupport (= 0.71.3) | ||||
|     - React-Core/RCTWebSocket (= 0.71.3) | ||||
|     - React-RCTActionSheet (= 0.71.3) | ||||
|     - React-RCTAnimation (= 0.71.3) | ||||
|     - React-RCTBlob (= 0.71.3) | ||||
|     - React-RCTImage (= 0.71.3) | ||||
|     - React-RCTLinking (= 0.71.3) | ||||
|     - React-RCTNetwork (= 0.71.3) | ||||
|     - React-RCTSettings (= 0.71.3) | ||||
|     - React-RCTText (= 0.71.3) | ||||
|     - React-RCTVibration (= 0.71.3) | ||||
|   - React-callinvoker (0.71.3) | ||||
|   - React-Codegen (0.71.3): | ||||
|     - FBReactNativeSpec | ||||
|     - hermes-engine | ||||
|     - RCT-Folly | ||||
|  | @ -77,177 +178,209 @@ PODS: | |||
|     - React-jsiexecutor | ||||
|     - ReactCommon/turbomodule/bridging | ||||
|     - ReactCommon/turbomodule/core | ||||
|   - React-Core (0.71.1): | ||||
|   - React-Core (0.71.3): | ||||
|     - glog | ||||
|     - hermes-engine | ||||
|     - RCT-Folly (= 2021.07.22.00) | ||||
|     - React-Core/Default (= 0.71.1) | ||||
|     - React-cxxreact (= 0.71.1) | ||||
|     - React-jsi (= 0.71.1) | ||||
|     - React-jsiexecutor (= 0.71.1) | ||||
|     - React-perflogger (= 0.71.1) | ||||
|     - React-Core/Default (= 0.71.3) | ||||
|     - React-cxxreact (= 0.71.3) | ||||
|     - React-hermes | ||||
|     - React-jsi (= 0.71.3) | ||||
|     - React-jsiexecutor (= 0.71.3) | ||||
|     - React-perflogger (= 0.71.3) | ||||
|     - Yoga | ||||
|   - React-Core/CoreModulesHeaders (0.71.1): | ||||
|   - React-Core/CoreModulesHeaders (0.71.3): | ||||
|     - glog | ||||
|     - hermes-engine | ||||
|     - RCT-Folly (= 2021.07.22.00) | ||||
|     - React-Core/Default | ||||
|     - React-cxxreact (= 0.71.1) | ||||
|     - React-jsi (= 0.71.1) | ||||
|     - React-jsiexecutor (= 0.71.1) | ||||
|     - React-perflogger (= 0.71.1) | ||||
|     - React-cxxreact (= 0.71.3) | ||||
|     - React-hermes | ||||
|     - React-jsi (= 0.71.3) | ||||
|     - React-jsiexecutor (= 0.71.3) | ||||
|     - React-perflogger (= 0.71.3) | ||||
|     - Yoga | ||||
|   - React-Core/Default (0.71.1): | ||||
|   - React-Core/Default (0.71.3): | ||||
|     - glog | ||||
|     - hermes-engine | ||||
|     - RCT-Folly (= 2021.07.22.00) | ||||
|     - React-cxxreact (= 0.71.1) | ||||
|     - React-jsi (= 0.71.1) | ||||
|     - React-jsiexecutor (= 0.71.1) | ||||
|     - React-perflogger (= 0.71.1) | ||||
|     - React-cxxreact (= 0.71.3) | ||||
|     - React-hermes | ||||
|     - React-jsi (= 0.71.3) | ||||
|     - React-jsiexecutor (= 0.71.3) | ||||
|     - React-perflogger (= 0.71.3) | ||||
|     - Yoga | ||||
|   - React-Core/DevSupport (0.71.1): | ||||
|   - React-Core/DevSupport (0.71.3): | ||||
|     - glog | ||||
|     - hermes-engine | ||||
|     - RCT-Folly (= 2021.07.22.00) | ||||
|     - React-Core/Default (= 0.71.1) | ||||
|     - React-Core/RCTWebSocket (= 0.71.1) | ||||
|     - React-cxxreact (= 0.71.1) | ||||
|     - React-jsi (= 0.71.1) | ||||
|     - React-jsiexecutor (= 0.71.1) | ||||
|     - React-jsinspector (= 0.71.1) | ||||
|     - React-perflogger (= 0.71.1) | ||||
|     - React-Core/Default (= 0.71.3) | ||||
|     - React-Core/RCTWebSocket (= 0.71.3) | ||||
|     - React-cxxreact (= 0.71.3) | ||||
|     - React-hermes | ||||
|     - React-jsi (= 0.71.3) | ||||
|     - React-jsiexecutor (= 0.71.3) | ||||
|     - React-jsinspector (= 0.71.3) | ||||
|     - React-perflogger (= 0.71.3) | ||||
|     - Yoga | ||||
|   - React-Core/RCTActionSheetHeaders (0.71.1): | ||||
|   - React-Core/RCTActionSheetHeaders (0.71.3): | ||||
|     - glog | ||||
|     - hermes-engine | ||||
|     - RCT-Folly (= 2021.07.22.00) | ||||
|     - React-Core/Default | ||||
|     - React-cxxreact (= 0.71.1) | ||||
|     - React-jsi (= 0.71.1) | ||||
|     - React-jsiexecutor (= 0.71.1) | ||||
|     - React-perflogger (= 0.71.1) | ||||
|     - React-cxxreact (= 0.71.3) | ||||
|     - React-hermes | ||||
|     - React-jsi (= 0.71.3) | ||||
|     - React-jsiexecutor (= 0.71.3) | ||||
|     - React-perflogger (= 0.71.3) | ||||
|     - Yoga | ||||
|   - React-Core/RCTAnimationHeaders (0.71.1): | ||||
|   - React-Core/RCTAnimationHeaders (0.71.3): | ||||
|     - glog | ||||
|     - hermes-engine | ||||
|     - RCT-Folly (= 2021.07.22.00) | ||||
|     - React-Core/Default | ||||
|     - React-cxxreact (= 0.71.1) | ||||
|     - React-jsi (= 0.71.1) | ||||
|     - React-jsiexecutor (= 0.71.1) | ||||
|     - React-perflogger (= 0.71.1) | ||||
|     - React-cxxreact (= 0.71.3) | ||||
|     - React-hermes | ||||
|     - React-jsi (= 0.71.3) | ||||
|     - React-jsiexecutor (= 0.71.3) | ||||
|     - React-perflogger (= 0.71.3) | ||||
|     - Yoga | ||||
|   - React-Core/RCTBlobHeaders (0.71.1): | ||||
|   - React-Core/RCTBlobHeaders (0.71.3): | ||||
|     - glog | ||||
|     - hermes-engine | ||||
|     - RCT-Folly (= 2021.07.22.00) | ||||
|     - React-Core/Default | ||||
|     - React-cxxreact (= 0.71.1) | ||||
|     - React-jsi (= 0.71.1) | ||||
|     - React-jsiexecutor (= 0.71.1) | ||||
|     - React-perflogger (= 0.71.1) | ||||
|     - React-cxxreact (= 0.71.3) | ||||
|     - React-hermes | ||||
|     - React-jsi (= 0.71.3) | ||||
|     - React-jsiexecutor (= 0.71.3) | ||||
|     - React-perflogger (= 0.71.3) | ||||
|     - Yoga | ||||
|   - React-Core/RCTImageHeaders (0.71.1): | ||||
|   - React-Core/RCTImageHeaders (0.71.3): | ||||
|     - glog | ||||
|     - hermes-engine | ||||
|     - RCT-Folly (= 2021.07.22.00) | ||||
|     - React-Core/Default | ||||
|     - React-cxxreact (= 0.71.1) | ||||
|     - React-jsi (= 0.71.1) | ||||
|     - React-jsiexecutor (= 0.71.1) | ||||
|     - React-perflogger (= 0.71.1) | ||||
|     - React-cxxreact (= 0.71.3) | ||||
|     - React-hermes | ||||
|     - React-jsi (= 0.71.3) | ||||
|     - React-jsiexecutor (= 0.71.3) | ||||
|     - React-perflogger (= 0.71.3) | ||||
|     - Yoga | ||||
|   - React-Core/RCTLinkingHeaders (0.71.1): | ||||
|   - React-Core/RCTLinkingHeaders (0.71.3): | ||||
|     - glog | ||||
|     - hermes-engine | ||||
|     - RCT-Folly (= 2021.07.22.00) | ||||
|     - React-Core/Default | ||||
|     - React-cxxreact (= 0.71.1) | ||||
|     - React-jsi (= 0.71.1) | ||||
|     - React-jsiexecutor (= 0.71.1) | ||||
|     - React-perflogger (= 0.71.1) | ||||
|     - React-cxxreact (= 0.71.3) | ||||
|     - React-hermes | ||||
|     - React-jsi (= 0.71.3) | ||||
|     - React-jsiexecutor (= 0.71.3) | ||||
|     - React-perflogger (= 0.71.3) | ||||
|     - Yoga | ||||
|   - React-Core/RCTNetworkHeaders (0.71.1): | ||||
|   - React-Core/RCTNetworkHeaders (0.71.3): | ||||
|     - glog | ||||
|     - hermes-engine | ||||
|     - RCT-Folly (= 2021.07.22.00) | ||||
|     - React-Core/Default | ||||
|     - React-cxxreact (= 0.71.1) | ||||
|     - React-jsi (= 0.71.1) | ||||
|     - React-jsiexecutor (= 0.71.1) | ||||
|     - React-perflogger (= 0.71.1) | ||||
|     - React-cxxreact (= 0.71.3) | ||||
|     - React-hermes | ||||
|     - React-jsi (= 0.71.3) | ||||
|     - React-jsiexecutor (= 0.71.3) | ||||
|     - React-perflogger (= 0.71.3) | ||||
|     - Yoga | ||||
|   - React-Core/RCTSettingsHeaders (0.71.1): | ||||
|   - React-Core/RCTSettingsHeaders (0.71.3): | ||||
|     - glog | ||||
|     - hermes-engine | ||||
|     - RCT-Folly (= 2021.07.22.00) | ||||
|     - React-Core/Default | ||||
|     - React-cxxreact (= 0.71.1) | ||||
|     - React-jsi (= 0.71.1) | ||||
|     - React-jsiexecutor (= 0.71.1) | ||||
|     - React-perflogger (= 0.71.1) | ||||
|     - React-cxxreact (= 0.71.3) | ||||
|     - React-hermes | ||||
|     - React-jsi (= 0.71.3) | ||||
|     - React-jsiexecutor (= 0.71.3) | ||||
|     - React-perflogger (= 0.71.3) | ||||
|     - Yoga | ||||
|   - React-Core/RCTTextHeaders (0.71.1): | ||||
|   - React-Core/RCTTextHeaders (0.71.3): | ||||
|     - glog | ||||
|     - hermes-engine | ||||
|     - RCT-Folly (= 2021.07.22.00) | ||||
|     - React-Core/Default | ||||
|     - React-cxxreact (= 0.71.1) | ||||
|     - React-jsi (= 0.71.1) | ||||
|     - React-jsiexecutor (= 0.71.1) | ||||
|     - React-perflogger (= 0.71.1) | ||||
|     - React-cxxreact (= 0.71.3) | ||||
|     - React-hermes | ||||
|     - React-jsi (= 0.71.3) | ||||
|     - React-jsiexecutor (= 0.71.3) | ||||
|     - React-perflogger (= 0.71.3) | ||||
|     - Yoga | ||||
|   - React-Core/RCTVibrationHeaders (0.71.1): | ||||
|   - React-Core/RCTVibrationHeaders (0.71.3): | ||||
|     - glog | ||||
|     - hermes-engine | ||||
|     - RCT-Folly (= 2021.07.22.00) | ||||
|     - React-Core/Default | ||||
|     - React-cxxreact (= 0.71.1) | ||||
|     - React-jsi (= 0.71.1) | ||||
|     - React-jsiexecutor (= 0.71.1) | ||||
|     - React-perflogger (= 0.71.1) | ||||
|     - React-cxxreact (= 0.71.3) | ||||
|     - React-hermes | ||||
|     - React-jsi (= 0.71.3) | ||||
|     - React-jsiexecutor (= 0.71.3) | ||||
|     - React-perflogger (= 0.71.3) | ||||
|     - Yoga | ||||
|   - React-Core/RCTWebSocket (0.71.1): | ||||
|   - React-Core/RCTWebSocket (0.71.3): | ||||
|     - glog | ||||
|     - hermes-engine | ||||
|     - RCT-Folly (= 2021.07.22.00) | ||||
|     - React-Core/Default (= 0.71.1) | ||||
|     - React-cxxreact (= 0.71.1) | ||||
|     - React-jsi (= 0.71.1) | ||||
|     - React-jsiexecutor (= 0.71.1) | ||||
|     - React-perflogger (= 0.71.1) | ||||
|     - React-Core/Default (= 0.71.3) | ||||
|     - React-cxxreact (= 0.71.3) | ||||
|     - React-hermes | ||||
|     - React-jsi (= 0.71.3) | ||||
|     - React-jsiexecutor (= 0.71.3) | ||||
|     - React-perflogger (= 0.71.3) | ||||
|     - Yoga | ||||
|   - React-CoreModules (0.71.1): | ||||
|   - React-CoreModules (0.71.3): | ||||
|     - RCT-Folly (= 2021.07.22.00) | ||||
|     - RCTTypeSafety (= 0.71.1) | ||||
|     - React-Codegen (= 0.71.1) | ||||
|     - React-Core/CoreModulesHeaders (= 0.71.1) | ||||
|     - React-jsi (= 0.71.1) | ||||
|     - React-RCTImage (= 0.71.1) | ||||
|     - ReactCommon/turbomodule/core (= 0.71.1) | ||||
|   - React-cxxreact (0.71.1): | ||||
|     - RCTTypeSafety (= 0.71.3) | ||||
|     - React-Codegen (= 0.71.3) | ||||
|     - React-Core/CoreModulesHeaders (= 0.71.3) | ||||
|     - React-jsi (= 0.71.3) | ||||
|     - React-RCTBlob | ||||
|     - React-RCTImage (= 0.71.3) | ||||
|     - ReactCommon/turbomodule/core (= 0.71.3) | ||||
|   - React-cxxreact (0.71.3): | ||||
|     - boost (= 1.76.0) | ||||
|     - DoubleConversion | ||||
|     - glog | ||||
|     - hermes-engine | ||||
|     - RCT-Folly (= 2021.07.22.00) | ||||
|     - React-callinvoker (= 0.71.1) | ||||
|     - React-jsi (= 0.71.1) | ||||
|     - React-jsinspector (= 0.71.1) | ||||
|     - React-logger (= 0.71.1) | ||||
|     - React-perflogger (= 0.71.1) | ||||
|     - React-runtimeexecutor (= 0.71.1) | ||||
|   - React-hermes (0.71.1): | ||||
|     - React-callinvoker (= 0.71.3) | ||||
|     - React-jsi (= 0.71.3) | ||||
|     - React-jsinspector (= 0.71.3) | ||||
|     - React-logger (= 0.71.3) | ||||
|     - React-perflogger (= 0.71.3) | ||||
|     - React-runtimeexecutor (= 0.71.3) | ||||
|   - React-hermes (0.71.3): | ||||
|     - DoubleConversion | ||||
|     - glog | ||||
|     - hermes-engine | ||||
|     - RCT-Folly (= 2021.07.22.00) | ||||
|     - RCT-Folly/Futures (= 2021.07.22.00) | ||||
|     - React-cxxreact (= 0.71.1) | ||||
|     - React-jsiexecutor (= 0.71.1) | ||||
|     - React-jsinspector (= 0.71.1) | ||||
|     - React-perflogger (= 0.71.1) | ||||
|   - React-jsi (0.71.1): | ||||
|     - React-cxxreact (= 0.71.3) | ||||
|     - React-jsi | ||||
|     - React-jsiexecutor (= 0.71.3) | ||||
|     - React-jsinspector (= 0.71.3) | ||||
|     - React-perflogger (= 0.71.3) | ||||
|   - React-jsi (0.71.3): | ||||
|     - boost (= 1.76.0) | ||||
|     - DoubleConversion | ||||
|     - glog | ||||
|     - hermes-engine | ||||
|     - RCT-Folly (= 2021.07.22.00) | ||||
|   - React-jsiexecutor (0.71.1): | ||||
|   - React-jsiexecutor (0.71.3): | ||||
|     - DoubleConversion | ||||
|     - glog | ||||
|     - hermes-engine | ||||
|     - RCT-Folly (= 2021.07.22.00) | ||||
|     - React-cxxreact (= 0.71.1) | ||||
|     - React-jsi (= 0.71.1) | ||||
|     - React-perflogger (= 0.71.1) | ||||
|   - React-jsinspector (0.71.1) | ||||
|   - React-logger (0.71.1): | ||||
|     - React-cxxreact (= 0.71.3) | ||||
|     - React-jsi (= 0.71.3) | ||||
|     - React-perflogger (= 0.71.3) | ||||
|   - React-jsinspector (0.71.3) | ||||
|   - React-logger (0.71.3): | ||||
|     - glog | ||||
|   - react-native-blur (4.3.0): | ||||
|     - React-Core | ||||
|  | @ -255,8 +388,6 @@ PODS: | |||
|     - React-Core | ||||
|   - react-native-image-resizer (3.0.5): | ||||
|     - React-Core | ||||
|   - react-native-pager-view (6.1.4): | ||||
|     - React-Core | ||||
|   - react-native-paste-input (0.6.2): | ||||
|     - React-Core | ||||
|     - Swime (= 3.0.6) | ||||
|  | @ -270,89 +401,92 @@ PODS: | |||
|     - React-Core | ||||
|   - react-native-version-number (0.3.6): | ||||
|     - React | ||||
|   - react-native-webview (11.26.1): | ||||
|   - react-native-webview (11.26.0): | ||||
|     - React-Core | ||||
|   - React-perflogger (0.71.1) | ||||
|   - React-RCTActionSheet (0.71.1): | ||||
|     - React-Core/RCTActionSheetHeaders (= 0.71.1) | ||||
|   - React-RCTAnimation (0.71.1): | ||||
|   - React-perflogger (0.71.3) | ||||
|   - React-RCTActionSheet (0.71.3): | ||||
|     - React-Core/RCTActionSheetHeaders (= 0.71.3) | ||||
|   - React-RCTAnimation (0.71.3): | ||||
|     - RCT-Folly (= 2021.07.22.00) | ||||
|     - RCTTypeSafety (= 0.71.1) | ||||
|     - React-Codegen (= 0.71.1) | ||||
|     - React-Core/RCTAnimationHeaders (= 0.71.1) | ||||
|     - React-jsi (= 0.71.1) | ||||
|     - ReactCommon/turbomodule/core (= 0.71.1) | ||||
|   - React-RCTAppDelegate (0.71.1): | ||||
|     - RCTTypeSafety (= 0.71.3) | ||||
|     - React-Codegen (= 0.71.3) | ||||
|     - React-Core/RCTAnimationHeaders (= 0.71.3) | ||||
|     - React-jsi (= 0.71.3) | ||||
|     - ReactCommon/turbomodule/core (= 0.71.3) | ||||
|   - React-RCTAppDelegate (0.71.3): | ||||
|     - RCT-Folly | ||||
|     - RCTRequired | ||||
|     - RCTTypeSafety | ||||
|     - React-Core | ||||
|     - ReactCommon/turbomodule/core | ||||
|   - React-RCTBlob (0.71.1): | ||||
|   - React-RCTBlob (0.71.3): | ||||
|     - hermes-engine | ||||
|     - RCT-Folly (= 2021.07.22.00) | ||||
|     - React-Codegen (= 0.71.1) | ||||
|     - React-Core/RCTBlobHeaders (= 0.71.1) | ||||
|     - React-Core/RCTWebSocket (= 0.71.1) | ||||
|     - React-jsi (= 0.71.1) | ||||
|     - React-RCTNetwork (= 0.71.1) | ||||
|     - ReactCommon/turbomodule/core (= 0.71.1) | ||||
|   - React-RCTImage (0.71.1): | ||||
|     - React-Codegen (= 0.71.3) | ||||
|     - React-Core/RCTBlobHeaders (= 0.71.3) | ||||
|     - React-Core/RCTWebSocket (= 0.71.3) | ||||
|     - React-jsi (= 0.71.3) | ||||
|     - React-RCTNetwork (= 0.71.3) | ||||
|     - ReactCommon/turbomodule/core (= 0.71.3) | ||||
|   - React-RCTImage (0.71.3): | ||||
|     - RCT-Folly (= 2021.07.22.00) | ||||
|     - RCTTypeSafety (= 0.71.1) | ||||
|     - React-Codegen (= 0.71.1) | ||||
|     - React-Core/RCTImageHeaders (= 0.71.1) | ||||
|     - React-jsi (= 0.71.1) | ||||
|     - React-RCTNetwork (= 0.71.1) | ||||
|     - ReactCommon/turbomodule/core (= 0.71.1) | ||||
|   - React-RCTLinking (0.71.1): | ||||
|     - React-Codegen (= 0.71.1) | ||||
|     - React-Core/RCTLinkingHeaders (= 0.71.1) | ||||
|     - React-jsi (= 0.71.1) | ||||
|     - ReactCommon/turbomodule/core (= 0.71.1) | ||||
|   - React-RCTNetwork (0.71.1): | ||||
|     - RCTTypeSafety (= 0.71.3) | ||||
|     - React-Codegen (= 0.71.3) | ||||
|     - React-Core/RCTImageHeaders (= 0.71.3) | ||||
|     - React-jsi (= 0.71.3) | ||||
|     - React-RCTNetwork (= 0.71.3) | ||||
|     - ReactCommon/turbomodule/core (= 0.71.3) | ||||
|   - React-RCTLinking (0.71.3): | ||||
|     - React-Codegen (= 0.71.3) | ||||
|     - React-Core/RCTLinkingHeaders (= 0.71.3) | ||||
|     - React-jsi (= 0.71.3) | ||||
|     - ReactCommon/turbomodule/core (= 0.71.3) | ||||
|   - React-RCTNetwork (0.71.3): | ||||
|     - RCT-Folly (= 2021.07.22.00) | ||||
|     - RCTTypeSafety (= 0.71.1) | ||||
|     - React-Codegen (= 0.71.1) | ||||
|     - React-Core/RCTNetworkHeaders (= 0.71.1) | ||||
|     - React-jsi (= 0.71.1) | ||||
|     - ReactCommon/turbomodule/core (= 0.71.1) | ||||
|   - React-RCTSettings (0.71.1): | ||||
|     - RCTTypeSafety (= 0.71.3) | ||||
|     - React-Codegen (= 0.71.3) | ||||
|     - React-Core/RCTNetworkHeaders (= 0.71.3) | ||||
|     - React-jsi (= 0.71.3) | ||||
|     - ReactCommon/turbomodule/core (= 0.71.3) | ||||
|   - React-RCTSettings (0.71.3): | ||||
|     - RCT-Folly (= 2021.07.22.00) | ||||
|     - RCTTypeSafety (= 0.71.1) | ||||
|     - React-Codegen (= 0.71.1) | ||||
|     - React-Core/RCTSettingsHeaders (= 0.71.1) | ||||
|     - React-jsi (= 0.71.1) | ||||
|     - ReactCommon/turbomodule/core (= 0.71.1) | ||||
|   - React-RCTText (0.71.1): | ||||
|     - React-Core/RCTTextHeaders (= 0.71.1) | ||||
|   - React-RCTVibration (0.71.1): | ||||
|     - RCTTypeSafety (= 0.71.3) | ||||
|     - React-Codegen (= 0.71.3) | ||||
|     - React-Core/RCTSettingsHeaders (= 0.71.3) | ||||
|     - React-jsi (= 0.71.3) | ||||
|     - ReactCommon/turbomodule/core (= 0.71.3) | ||||
|   - React-RCTText (0.71.3): | ||||
|     - React-Core/RCTTextHeaders (= 0.71.3) | ||||
|   - React-RCTVibration (0.71.3): | ||||
|     - RCT-Folly (= 2021.07.22.00) | ||||
|     - React-Codegen (= 0.71.1) | ||||
|     - React-Core/RCTVibrationHeaders (= 0.71.1) | ||||
|     - React-jsi (= 0.71.1) | ||||
|     - ReactCommon/turbomodule/core (= 0.71.1) | ||||
|   - React-runtimeexecutor (0.71.1): | ||||
|     - React-jsi (= 0.71.1) | ||||
|   - ReactCommon/turbomodule/bridging (0.71.1): | ||||
|     - React-Codegen (= 0.71.3) | ||||
|     - React-Core/RCTVibrationHeaders (= 0.71.3) | ||||
|     - React-jsi (= 0.71.3) | ||||
|     - ReactCommon/turbomodule/core (= 0.71.3) | ||||
|   - React-runtimeexecutor (0.71.3): | ||||
|     - React-jsi (= 0.71.3) | ||||
|   - ReactCommon/turbomodule/bridging (0.71.3): | ||||
|     - DoubleConversion | ||||
|     - glog | ||||
|     - hermes-engine | ||||
|     - RCT-Folly (= 2021.07.22.00) | ||||
|     - React-callinvoker (= 0.71.1) | ||||
|     - React-Core (= 0.71.1) | ||||
|     - React-cxxreact (= 0.71.1) | ||||
|     - React-jsi (= 0.71.1) | ||||
|     - React-logger (= 0.71.1) | ||||
|     - React-perflogger (= 0.71.1) | ||||
|   - ReactCommon/turbomodule/core (0.71.1): | ||||
|     - React-callinvoker (= 0.71.3) | ||||
|     - React-Core (= 0.71.3) | ||||
|     - React-cxxreact (= 0.71.3) | ||||
|     - React-jsi (= 0.71.3) | ||||
|     - React-logger (= 0.71.3) | ||||
|     - React-perflogger (= 0.71.3) | ||||
|   - ReactCommon/turbomodule/core (0.71.3): | ||||
|     - DoubleConversion | ||||
|     - glog | ||||
|     - hermes-engine | ||||
|     - RCT-Folly (= 2021.07.22.00) | ||||
|     - React-callinvoker (= 0.71.1) | ||||
|     - React-Core (= 0.71.1) | ||||
|     - React-cxxreact (= 0.71.1) | ||||
|     - React-jsi (= 0.71.1) | ||||
|     - React-logger (= 0.71.1) | ||||
|     - React-perflogger (= 0.71.1) | ||||
|     - React-callinvoker (= 0.71.3) | ||||
|     - React-Core (= 0.71.3) | ||||
|     - React-cxxreact (= 0.71.3) | ||||
|     - React-jsi (= 0.71.3) | ||||
|     - React-logger (= 0.71.3) | ||||
|     - React-perflogger (= 0.71.3) | ||||
|   - rn-fetch-blob (0.12.0): | ||||
|     - React-Core | ||||
|   - RNBackgroundFetch (4.1.8): | ||||
|  | @ -385,8 +519,6 @@ PODS: | |||
|     - RNNotifee/NotifeeCore (= 7.5.0) | ||||
|   - RNNotifee/NotifeeCore (7.5.0): | ||||
|     - React-Core | ||||
|   - RNPermissions (3.7.2): | ||||
|     - React-Core | ||||
|   - RNReactNativeHapticFeedback (1.14.0): | ||||
|     - React-Core | ||||
|   - RNReanimated (2.14.4): | ||||
|  | @ -419,7 +551,7 @@ PODS: | |||
|   - RNScreens (3.20.0): | ||||
|     - React-Core | ||||
|     - React-RCTImage | ||||
|   - RNSVG (12.5.1): | ||||
|   - RNSVG (13.8.0): | ||||
|     - React-Core | ||||
|   - SDWebImage (5.11.1): | ||||
|     - SDWebImage/Core (= 5.11.1) | ||||
|  | @ -427,7 +559,7 @@ PODS: | |||
|   - SDWebImageWebPCoder (0.8.5): | ||||
|     - libwebp (~> 1.0) | ||||
|     - SDWebImage/Core (~> 5.10) | ||||
|   - segment-analytics-react-native (2.13.0): | ||||
|   - segment-analytics-react-native (2.13.1): | ||||
|     - React-Core | ||||
|     - sovran-react-native | ||||
|   - sovran-react-native (0.4.5): | ||||
|  | @ -440,13 +572,30 @@ DEPENDENCIES: | |||
|   - boost (from `../node_modules/react-native/third-party-podspecs/boost.podspec`) | ||||
|   - BVLinearGradient (from `../node_modules/react-native-linear-gradient`) | ||||
|   - DoubleConversion (from `../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec`) | ||||
|   - EXApplication (from `../node_modules/expo-application/ios`) | ||||
|   - EXCamera (from `../node_modules/expo-camera/ios`) | ||||
|   - EXConstants (from `../node_modules/expo-constants/ios`) | ||||
|   - EXFileSystem (from `../node_modules/expo-file-system/ios`) | ||||
|   - EXFont (from `../node_modules/expo-font/ios`) | ||||
|   - EXImageLoader (from `../node_modules/expo-image-loader/ios`) | ||||
|   - EXJSONUtils (from `../node_modules/expo-json-utils/ios`) | ||||
|   - EXManifests (from `../node_modules/expo-manifests/ios`) | ||||
|   - EXMediaLibrary (from `../node_modules/expo-media-library/ios`) | ||||
|   - Expo (from `../node_modules/expo`) | ||||
|   - expo-dev-client (from `../node_modules/expo-dev-client/ios`) | ||||
|   - expo-dev-launcher (from `../node_modules/expo-dev-launcher`) | ||||
|   - expo-dev-menu (from `../node_modules/expo-dev-menu`) | ||||
|   - expo-dev-menu-interface (from `../node_modules/expo-dev-menu-interface/ios`) | ||||
|   - ExpoImagePicker (from `../node_modules/expo-image-picker/ios`) | ||||
|   - ExpoKeepAwake (from `../node_modules/expo-keep-awake/ios`) | ||||
|   - ExpoModulesCore (from `../node_modules/expo-modules-core`) | ||||
|   - EXSplashScreen (from `../node_modules/expo-splash-screen/ios`) | ||||
|   - EXUpdatesInterface (from `../node_modules/expo-updates-interface/ios`) | ||||
|   - FBLazyVector (from `../node_modules/react-native/Libraries/FBLazyVector`) | ||||
|   - FBReactNativeSpec (from `../node_modules/react-native/React/FBReactNativeSpec`) | ||||
|   - glog (from `../node_modules/react-native/third-party-podspecs/glog.podspec`) | ||||
|   - hermes-engine (from `../node_modules/react-native/sdks/hermes-engine/hermes-engine.podspec`) | ||||
|   - libevent (~> 2.1.12) | ||||
|   - Permission-Camera (from `../node_modules/react-native-permissions/ios/Camera`) | ||||
|   - Permission-PhotoLibrary (from `../node_modules/react-native-permissions/ios/PhotoLibrary`) | ||||
|   - RCT-Folly (from `../node_modules/react-native/third-party-podspecs/RCT-Folly.podspec`) | ||||
|   - RCTRequired (from `../node_modules/react-native/Libraries/RCTRequired`) | ||||
|   - RCTTypeSafety (from `../node_modules/react-native/Libraries/TypeSafety`) | ||||
|  | @ -465,7 +614,6 @@ DEPENDENCIES: | |||
|   - "react-native-blur (from `../node_modules/@react-native-community/blur`)" | ||||
|   - "react-native-cameraroll (from `../node_modules/@react-native-camera-roll/camera-roll`)" | ||||
|   - "react-native-image-resizer (from `../node_modules/@bam.tech/react-native-image-resizer`)" | ||||
|   - react-native-pager-view (from `../node_modules/react-native-pager-view`) | ||||
|   - "react-native-paste-input (from `../node_modules/@mattermost/react-native-paste-input`)" | ||||
|   - react-native-safe-area-context (from `../node_modules/react-native-safe-area-context`) | ||||
|   - react-native-splash-screen (from `../node_modules/react-native-splash-screen`) | ||||
|  | @ -494,7 +642,6 @@ DEPENDENCIES: | |||
|   - RNImageCropPicker (from `../node_modules/react-native-image-crop-picker`) | ||||
|   - RNInAppBrowser (from `../node_modules/react-native-inappbrowser-reborn`) | ||||
|   - "RNNotifee (from `../node_modules/@notifee/react-native`)" | ||||
|   - RNPermissions (from `../node_modules/react-native-permissions`) | ||||
|   - RNReactNativeHapticFeedback (from `../node_modules/react-native-haptic-feedback`) | ||||
|   - RNReanimated (from `../node_modules/react-native-reanimated`) | ||||
|   - RNScreens (from `../node_modules/react-native-screens`) | ||||
|  | @ -520,6 +667,44 @@ EXTERNAL SOURCES: | |||
|     :path: "../node_modules/react-native-linear-gradient" | ||||
|   DoubleConversion: | ||||
|     :podspec: "../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec" | ||||
|   EXApplication: | ||||
|     :path: "../node_modules/expo-application/ios" | ||||
|   EXCamera: | ||||
|     :path: "../node_modules/expo-camera/ios" | ||||
|   EXConstants: | ||||
|     :path: "../node_modules/expo-constants/ios" | ||||
|   EXFileSystem: | ||||
|     :path: "../node_modules/expo-file-system/ios" | ||||
|   EXFont: | ||||
|     :path: "../node_modules/expo-font/ios" | ||||
|   EXImageLoader: | ||||
|     :path: "../node_modules/expo-image-loader/ios" | ||||
|   EXJSONUtils: | ||||
|     :path: "../node_modules/expo-json-utils/ios" | ||||
|   EXManifests: | ||||
|     :path: "../node_modules/expo-manifests/ios" | ||||
|   EXMediaLibrary: | ||||
|     :path: "../node_modules/expo-media-library/ios" | ||||
|   Expo: | ||||
|     :path: "../node_modules/expo" | ||||
|   expo-dev-client: | ||||
|     :path: "../node_modules/expo-dev-client/ios" | ||||
|   expo-dev-launcher: | ||||
|     :path: "../node_modules/expo-dev-launcher" | ||||
|   expo-dev-menu: | ||||
|     :path: "../node_modules/expo-dev-menu" | ||||
|   expo-dev-menu-interface: | ||||
|     :path: "../node_modules/expo-dev-menu-interface/ios" | ||||
|   ExpoImagePicker: | ||||
|     :path: "../node_modules/expo-image-picker/ios" | ||||
|   ExpoKeepAwake: | ||||
|     :path: "../node_modules/expo-keep-awake/ios" | ||||
|   ExpoModulesCore: | ||||
|     :path: "../node_modules/expo-modules-core" | ||||
|   EXSplashScreen: | ||||
|     :path: "../node_modules/expo-splash-screen/ios" | ||||
|   EXUpdatesInterface: | ||||
|     :path: "../node_modules/expo-updates-interface/ios" | ||||
|   FBLazyVector: | ||||
|     :path: "../node_modules/react-native/Libraries/FBLazyVector" | ||||
|   FBReactNativeSpec: | ||||
|  | @ -528,10 +713,6 @@ EXTERNAL SOURCES: | |||
|     :podspec: "../node_modules/react-native/third-party-podspecs/glog.podspec" | ||||
|   hermes-engine: | ||||
|     :podspec: "../node_modules/react-native/sdks/hermes-engine/hermes-engine.podspec" | ||||
|   Permission-Camera: | ||||
|     :path: "../node_modules/react-native-permissions/ios/Camera" | ||||
|   Permission-PhotoLibrary: | ||||
|     :path: "../node_modules/react-native-permissions/ios/PhotoLibrary" | ||||
|   RCT-Folly: | ||||
|     :podspec: "../node_modules/react-native/third-party-podspecs/RCT-Folly.podspec" | ||||
|   RCTRequired: | ||||
|  | @ -566,8 +747,6 @@ EXTERNAL SOURCES: | |||
|     :path: "../node_modules/@react-native-camera-roll/camera-roll" | ||||
|   react-native-image-resizer: | ||||
|     :path: "../node_modules/@bam.tech/react-native-image-resizer" | ||||
|   react-native-pager-view: | ||||
|     :path: "../node_modules/react-native-pager-view" | ||||
|   react-native-paste-input: | ||||
|     :path: "../node_modules/@mattermost/react-native-paste-input" | ||||
|   react-native-safe-area-context: | ||||
|  | @ -624,8 +803,6 @@ EXTERNAL SOURCES: | |||
|     :path: "../node_modules/react-native-inappbrowser-reborn" | ||||
|   RNNotifee: | ||||
|     :path: "../node_modules/@notifee/react-native" | ||||
|   RNPermissions: | ||||
|     :path: "../node_modules/react-native-permissions" | ||||
|   RNReactNativeHapticFeedback: | ||||
|     :path: "../node_modules/react-native-haptic-feedback" | ||||
|   RNReanimated: | ||||
|  | @ -645,51 +822,67 @@ SPEC CHECKSUMS: | |||
|   boost: 57d2868c099736d80fcd648bf211b4431e51a558 | ||||
|   BVLinearGradient: 34a999fda29036898a09c6a6b728b0b4189e1a44 | ||||
|   DoubleConversion: 5189b271737e1565bdce30deb4a08d647e3f5f54 | ||||
|   FBLazyVector: ad72713385db5289b19f1ead07e8e4aa26dcb01d | ||||
|   FBReactNativeSpec: df2602c11e33d310433496e28a48b4b2be652a61 | ||||
|   EXApplication: d8f53a7eee90a870a75656280e8d4b85726ea903 | ||||
|   EXCamera: a323a5942b5e7fc8349e17d728e91c18840ad561 | ||||
|   EXConstants: f348da07e21b23d2b085e270d7b74f282df1a7d9 | ||||
|   EXFileSystem: 844e86ca9b5375486ecc4ef06d3838d5597d895d | ||||
|   EXFont: 6ea3800df746be7233208d80fe379b8ed74f4272 | ||||
|   EXImageLoader: fd053169a8ee932dd83bf1fe5487a50c26d27c2b | ||||
|   EXJSONUtils: 48b1e764ac35160e6f54d21ab60d7d9501f3e473 | ||||
|   EXManifests: 500666d48e8dd7ca5a482c9e729e4a7a6c34081b | ||||
|   EXMediaLibrary: 792fe9b828b5bfa2c5a8b629730f175af2938285 | ||||
|   Expo: 04ba1ddde0be07aff4306ae636a1804810679145 | ||||
|   expo-dev-client: 7c1ef51516853465f4d448c14ddf365167d20361 | ||||
|   expo-dev-launcher: 90de99d9e5d1a883d81355ca10e87c2f3c81d46e | ||||
|   expo-dev-menu: d4369e74d8d21a0ccdee35f7c732e7118b0fee16 | ||||
|   expo-dev-menu-interface: 6c82ae323c4b8724dead4763ce3ff24a2108bdb1 | ||||
|   ExpoImagePicker: 270dea232b3a072d981dd564e2cafc63a864edb1 | ||||
|   ExpoKeepAwake: 69f5f627670d62318410392d03e0b5db0f85759a | ||||
|   ExpoModulesCore: 1667335d4f4c9b7801990930e6f0eea42c916a21 | ||||
|   EXSplashScreen: cd7fb052dff5ba8311d5c2455ecbebffe1b7a8ca | ||||
|   EXUpdatesInterface: dd699d1930e28639dcbd70a402caea98e86364ca | ||||
|   FBLazyVector: 60195509584153283780abdac5569feffb8f08cc | ||||
|   FBReactNativeSpec: 9c191fb58d06dc05ab5559a5505fc32139e9e4a2 | ||||
|   fmt: ff9d55029c625d3757ed641535fd4a75fedc7ce9 | ||||
|   glog: 04b94705f318337d7ead9e6d17c019bd9b1f6b1b | ||||
|   hermes-engine: 922ccd744f50d9bfde09e9677bf0f3b562ea5fb9 | ||||
|   hermes-engine: 38bfe887e456b33b697187570a08de33969f5db7 | ||||
|   libevent: 4049cae6c81cdb3654a443be001fb9bdceff7913 | ||||
|   libwebp: f62cb61d0a484ba548448a4bd52aabf150ff6eef | ||||
|   Permission-Camera: db22e80aa0858a8b6d65979a97f2f481dd8a0ebd | ||||
|   Permission-PhotoLibrary: 7d80161682e08042fd8b0bf934ea97a8495e0e6a | ||||
|   RCT-Folly: 424b8c9a7a0b9ab2886ffe9c3b041ef628fd4fb1 | ||||
|   RCTRequired: fd4d923b964658aa0c4091a32c8b2004c6d9e3a6 | ||||
|   RCTTypeSafety: c276d85975bde3d8448907235c70bf0da257adfd | ||||
|   React: e481a67971af1ce9639c9f746b753dd0e84ca108 | ||||
|   React-callinvoker: 1051c04a94fa9d243786b86380606bad701a3b31 | ||||
|   React-Codegen: 14b1e716d361d5ad95e0ce1a338f3fa0733a98b5 | ||||
|   React-Core: 698fc3baecb80d511d987475a16d036cec6d287f | ||||
|   React-CoreModules: 59245305f41ff0adfeac334acc0594dea4585a7c | ||||
|   React-cxxreact: 49accd2954b0f532805dbcd1918fa6962f32f247 | ||||
|   React-hermes: d068733294581a085e95b6024e8d951b005e26d3 | ||||
|   React-jsi: 122b9bce14f4c6c7cb58f28f87912cfe091885fa | ||||
|   React-jsiexecutor: 60cf272aababc5212410e4249d17cea14fc36caa | ||||
|   React-jsinspector: ff56004b0c974b688a6548c156d5830ad751ae07 | ||||
|   React-logger: 60a0b5f8bed667ecf9e24fecca1f30d125de6d75 | ||||
|   RCTRequired: bec48f07daf7bcdc2655a0cde84e07d24d2a9e2a | ||||
|   RCTTypeSafety: 171394eebacf71e1cfad79dbfae7ee8fc16ca80a | ||||
|   React: d7433ccb6a8c36e4cbed59a73c0700fc83c3e98a | ||||
|   React-callinvoker: 15f165009bd22ae829b2b600e50bcc98076ce4b8 | ||||
|   React-Codegen: b5910000eaf1e0c2f47d29be6f82f5f1264420d7 | ||||
|   React-Core: b6f2f78d580a90b83fd7b0d1c6911c799f6eac82 | ||||
|   React-CoreModules: e0cbc1a4f4f3f60e23c476fef7ab37be363ea8c1 | ||||
|   React-cxxreact: c87f3f124b2117d00d410b35f16c2257e25e50fa | ||||
|   React-hermes: c64ca6bdf16a7069773103c9bedaf30ec90ab38f | ||||
|   React-jsi: 39729361645568e238081b3b3180fbad803f25a4 | ||||
|   React-jsiexecutor: 515b703d23ffadeac7687bc2d12fb08b90f0aaa1 | ||||
|   React-jsinspector: 9f7c9137605e72ca0343db4cea88006cb94856dd | ||||
|   React-logger: 957e5dc96d9dbffc6e0f15e0ee4d2b42829ff207 | ||||
|   react-native-blur: 50c9feabacbc5f49b61337ebc32192c6be7ec3c3 | ||||
|   react-native-cameraroll: cb752fda6d5268f1646b4390bd5be1f27706b9a0 | ||||
|   react-native-image-resizer: 00ceb0e05586c7aadf061eea676957a6c2ec60fa | ||||
|   react-native-pager-view: b58cb9e9f42f64e50cab3040815772c1d119a2e2 | ||||
|   react-native-paste-input: 3392800944a47c00dddbff23c31c281482209679 | ||||
|   react-native-safe-area-context: 39c2d8be3328df5d437ac1700f4f3a4f75716acc | ||||
|   react-native-splash-screen: 4312f786b13a81b5169ef346d76d33bc0c6dc457 | ||||
|   react-native-version-number: b415bbec6a13f2df62bf978e85bc0d699462f37f | ||||
|   react-native-webview: 9f111dfbcfc826084d6c507f569e5e03342ee1c1 | ||||
|   React-perflogger: ec8eef2a8f03ecfa6361c2c5fb9197ef4a29cc85 | ||||
|   React-RCTActionSheet: a0c023b86cf4c862fa9c4eb0f6f91fbe878fb2de | ||||
|   React-RCTAnimation: 168d53718c74153947c0109f55900faa64d79439 | ||||
|   React-RCTAppDelegate: a8efbab128b34aa07a9491c85a41401210b1bec5 | ||||
|   React-RCTBlob: 9bcbfc893bfda9f6b2eb016329d38c0f6366d31a | ||||
|   React-RCTImage: 3fcd4570b4b0f1ac2f4b4b6308dba33ce66c5b50 | ||||
|   React-RCTLinking: 1edb8e1bb3fc39bf9e13c63d6aaaa3f0c3d18683 | ||||
|   React-RCTNetwork: 500a79e0e0f67678077df727fabba87a55c043e1 | ||||
|   React-RCTSettings: cc4414eb84ad756d619076c3999fecbf12896d6f | ||||
|   React-RCTText: 2a34261f3da6e34f47a62154def657546ebfa5e1 | ||||
|   React-RCTVibration: 49d531ec8498e0afa2c9b22c2205784372e3d4f3 | ||||
|   React-runtimeexecutor: 311feb67600774723fe10eb8801d3138cae9ad67 | ||||
|   ReactCommon: 03be76588338a27a88d103b35c3c44a3fd43d136 | ||||
|   react-native-webview: 994b9f8fbb504d6314dc40d83f94f27c6831b3bf | ||||
|   React-perflogger: af8a3d31546077f42d729b949925cc4549f14def | ||||
|   React-RCTActionSheet: 57cc5adfefbaaf0aae2cf7e10bccd746f2903673 | ||||
|   React-RCTAnimation: 11c61e94da700c4dc915cf134513764d87fc5e2b | ||||
|   React-RCTAppDelegate: c3980adeaadcfd6cb495532e928b36ac6db3c14a | ||||
|   React-RCTBlob: ccc5049d742b41971141415ca86b83b201495695 | ||||
|   React-RCTImage: 7a9226b0944f1e76e8e01e35a9245c2477cdbabb | ||||
|   React-RCTLinking: bbe8cc582046a9c04f79c235b73c93700263e8b4 | ||||
|   React-RCTNetwork: fc2ca322159dc54e06508d4f5c3e934da63dc013 | ||||
|   React-RCTSettings: f1e9db2cdf946426d3f2b210e4ff4ce0f0d842ef | ||||
|   React-RCTText: 1c41dd57e5d742b1396b4eeb251851ce7ff0fca1 | ||||
|   React-RCTVibration: 5199a180d04873366a83855de55ac33ce60fe4d5 | ||||
|   React-runtimeexecutor: 7bf0dafc7b727d93c8cb94eb00a9d3753c446c3e | ||||
|   ReactCommon: 6f65ea5b7d84deb9e386f670dd11ce499ded7b40 | ||||
|   rn-fetch-blob: f065bb7ab7fb48dd002629f8bdcb0336602d3cba | ||||
|   RNBackgroundFetch: 8e16176ff415daac743a6eb57afc8e9e14dbe623 | ||||
|   RNCAsyncStorage: 8616bd5a58af409453ea4e1b246521bb76578d60 | ||||
|  | @ -700,19 +893,18 @@ SPEC CHECKSUMS: | |||
|   RNImageCropPicker: 648356d68fbf9911a1016b3e3723885d28373eda | ||||
|   RNInAppBrowser: e36d6935517101ccba0e875bac8ad7b0cb655364 | ||||
|   RNNotifee: 053c0ace9c73634709a0214fd9c436a5777a562f | ||||
|   RNPermissions: 2fbbcb7244357507f958d626d58eb15fb0013d85 | ||||
|   RNReactNativeHapticFeedback: 1e3efeca9628ff9876ee7cdd9edec1b336913f8c | ||||
|   RNReanimated: cc5e3aa479cb9170bcccf8204291a6950a3be128 | ||||
|   RNScreens: 218801c16a2782546d30bd2026bb625c0302d70f | ||||
|   RNSVG: d7d7bc8229af3842c9cfc3a723c815a52cdd1105 | ||||
|   RNSVG: c1e76b81c76cdcd34b4e1188852892dc280eb902 | ||||
|   SDWebImage: a7f831e1a65eb5e285e3fb046a23fcfbf08e696d | ||||
|   SDWebImageWebPCoder: 908b83b6adda48effe7667cd2b7f78c897e5111d | ||||
|   segment-analytics-react-native: bd1f13ea95bad2313a9c7130da032af0e9a6da60 | ||||
|   segment-analytics-react-native: f962dff3a084655a29f9403b8c139c75a3362524 | ||||
|   sovran-react-native: fd3dc8f1a4b14acdc4ad25fc6b4ac4f52a2a2a15 | ||||
|   Swime: d7b2c277503b6cea317774aedc2dce05613f8b0b | ||||
|   TOCropViewController: edfd4f25713d56905ad1e0b9f5be3fbe0f59c863 | ||||
|   Yoga: 921eb014669cf9c718ada68b08d362517d564e0c | ||||
|   Yoga: 5ed1699acbba8863755998a4245daa200ff3817b | ||||
| 
 | ||||
| PODFILE CHECKSUM: 95c7fde1130d862b561348cca2b3fb7f9bd84bfb | ||||
| PODFILE CHECKSUM: 5570c7b7d6ce7895f95d9db8a3a99b136a3f42c4 | ||||
| 
 | ||||
| COCOAPODS: 1.11.3 | ||||
|  |  | |||
							
								
								
									
										3
									
								
								ios/Podfile.properties.json
									
										
									
									
									
										Normal file
									
								
							
							
						
						|  | @ -0,0 +1,3 @@ | |||
| { | ||||
|   "expo.jsEngine": "hermes" | ||||
| } | ||||
|  | @ -1,717 +0,0 @@ | |||
| // !$*UTF8*$! | ||||
| { | ||||
| 	archiveVersion = 1; | ||||
| 	classes = { | ||||
| 	}; | ||||
| 	objectVersion = 54; | ||||
| 	objects = { | ||||
| 
 | ||||
| /* Begin PBXBuildFile section */ | ||||
| 		00E356F31AD99517003FC87E /* appTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 00E356F21AD99517003FC87E /* appTests.m */; }; | ||||
| 		13B07FBC1A68108700A75B9A /* AppDelegate.mm in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB01A68108700A75B9A /* AppDelegate.mm */; }; | ||||
| 		13B07FBF1A68108700A75B9A /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 13B07FB51A68108700A75B9A /* Images.xcassets */; }; | ||||
| 		13B07FC11A68108700A75B9A /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB71A68108700A75B9A /* main.m */; }; | ||||
| 		5698CA584FD738B2091BD18F /* libPods-app-appTests.a in Frameworks */ = {isa = PBXBuildFile; fileRef = C0C7BDE7769B84011D3747DC /* libPods-app-appTests.a */; }; | ||||
| 		67BF1AE6AABFC881715B2D6A /* libPods-app.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 8789F612EDA2C48C6064ADD6 /* libPods-app.a */; }; | ||||
| 		E46FE2C12981C0DB007C107C /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = E46FE2C02981C0DB007C107C /* LaunchScreen.storyboard */; }; | ||||
| 		E4BBD590292C1F5200296224 /* app.entitlements in Resources */ = {isa = PBXBuildFile; fileRef = E4437C9E28581FA7006DA9E7 /* app.entitlements */; }; | ||||
| /* End PBXBuildFile section */ | ||||
| 
 | ||||
| /* Begin PBXContainerItemProxy section */ | ||||
| 		00E356F41AD99517003FC87E /* PBXContainerItemProxy */ = { | ||||
| 			isa = PBXContainerItemProxy; | ||||
| 			containerPortal = 83CBB9F71A601CBA00E9B192 /* Project object */; | ||||
| 			proxyType = 1; | ||||
| 			remoteGlobalIDString = 13B07F861A680F5B00A75B9A; | ||||
| 			remoteInfo = app; | ||||
| 		}; | ||||
| /* End PBXContainerItemProxy section */ | ||||
| 
 | ||||
| /* Begin PBXFileReference section */ | ||||
| 		00E356EE1AD99517003FC87E /* appTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = appTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; | ||||
| 		00E356F11AD99517003FC87E /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; }; | ||||
| 		00E356F21AD99517003FC87E /* appTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = appTests.m; sourceTree = "<group>"; }; | ||||
| 		13B07F961A680F5B00A75B9A /* app.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = app.app; sourceTree = BUILT_PRODUCTS_DIR; }; | ||||
| 		13B07FAF1A68108700A75B9A /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AppDelegate.h; path = app/AppDelegate.h; sourceTree = "<group>"; }; | ||||
| 		13B07FB01A68108700A75B9A /* AppDelegate.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = AppDelegate.mm; path = app/AppDelegate.mm; sourceTree = "<group>"; }; | ||||
| 		13B07FB51A68108700A75B9A /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Images.xcassets; path = app/Images.xcassets; sourceTree = "<group>"; }; | ||||
| 		13B07FB61A68108700A75B9A /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = Info.plist; path = app/Info.plist; sourceTree = "<group>"; }; | ||||
| 		13B07FB71A68108700A75B9A /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = main.m; path = app/main.m; sourceTree = "<group>"; }; | ||||
| 		53DBA218C184B95B107AC33E /* Pods-app.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-app.release.xcconfig"; path = "Target Support Files/Pods-app/Pods-app.release.xcconfig"; sourceTree = "<group>"; }; | ||||
| 		8789F612EDA2C48C6064ADD6 /* libPods-app.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-app.a"; sourceTree = BUILT_PRODUCTS_DIR; }; | ||||
| 		8BB4EDB104E125B8A1913E74 /* Pods-app.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-app.debug.xcconfig"; path = "Target Support Files/Pods-app/Pods-app.debug.xcconfig"; sourceTree = "<group>"; }; | ||||
| 		A8E093A0B5DA947150924A68 /* Pods-app-appTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-app-appTests.release.xcconfig"; path = "Target Support Files/Pods-app-appTests/Pods-app-appTests.release.xcconfig"; sourceTree = "<group>"; }; | ||||
| 		C01FB6762BC17DADC0319338 /* Pods-app-appTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-app-appTests.debug.xcconfig"; path = "Target Support Files/Pods-app-appTests/Pods-app-appTests.debug.xcconfig"; sourceTree = "<group>"; }; | ||||
| 		C0C7BDE7769B84011D3747DC /* libPods-app-appTests.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-app-appTests.a"; sourceTree = BUILT_PRODUCTS_DIR; }; | ||||
| 		E4437C9E28581FA7006DA9E7 /* app.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; name = app.entitlements; path = app/app.entitlements; sourceTree = "<group>"; }; | ||||
| 		E46FE2C02981C0DB007C107C /* LaunchScreen.storyboard */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; path = LaunchScreen.storyboard; sourceTree = "<group>"; }; | ||||
| 		ED297162215061F000B7C4FE /* JavaScriptCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = JavaScriptCore.framework; path = System/Library/Frameworks/JavaScriptCore.framework; sourceTree = SDKROOT; }; | ||||
| /* End PBXFileReference section */ | ||||
| 
 | ||||
| /* Begin PBXFrameworksBuildPhase section */ | ||||
| 		00E356EB1AD99517003FC87E /* Frameworks */ = { | ||||
| 			isa = PBXFrameworksBuildPhase; | ||||
| 			buildActionMask = 2147483647; | ||||
| 			files = ( | ||||
| 				5698CA584FD738B2091BD18F /* libPods-app-appTests.a in Frameworks */, | ||||
| 			); | ||||
| 			runOnlyForDeploymentPostprocessing = 0; | ||||
| 		}; | ||||
| 		13B07F8C1A680F5B00A75B9A /* Frameworks */ = { | ||||
| 			isa = PBXFrameworksBuildPhase; | ||||
| 			buildActionMask = 2147483647; | ||||
| 			files = ( | ||||
| 				67BF1AE6AABFC881715B2D6A /* libPods-app.a in Frameworks */, | ||||
| 			); | ||||
| 			runOnlyForDeploymentPostprocessing = 0; | ||||
| 		}; | ||||
| /* End PBXFrameworksBuildPhase section */ | ||||
| 
 | ||||
| /* Begin PBXGroup section */ | ||||
| 		00E356EF1AD99517003FC87E /* appTests */ = { | ||||
| 			isa = PBXGroup; | ||||
| 			children = ( | ||||
| 				00E356F21AD99517003FC87E /* appTests.m */, | ||||
| 				00E356F01AD99517003FC87E /* Supporting Files */, | ||||
| 			); | ||||
| 			path = appTests; | ||||
| 			sourceTree = "<group>"; | ||||
| 		}; | ||||
| 		00E356F01AD99517003FC87E /* Supporting Files */ = { | ||||
| 			isa = PBXGroup; | ||||
| 			children = ( | ||||
| 				00E356F11AD99517003FC87E /* Info.plist */, | ||||
| 			); | ||||
| 			name = "Supporting Files"; | ||||
| 			sourceTree = "<group>"; | ||||
| 		}; | ||||
| 		13B07FAE1A68108700A75B9A /* app */ = { | ||||
| 			isa = PBXGroup; | ||||
| 			children = ( | ||||
| 				E4437C9E28581FA7006DA9E7 /* app.entitlements */, | ||||
| 				13B07FAF1A68108700A75B9A /* AppDelegate.h */, | ||||
| 				13B07FB01A68108700A75B9A /* AppDelegate.mm */, | ||||
| 				13B07FB51A68108700A75B9A /* Images.xcassets */, | ||||
| 				13B07FB61A68108700A75B9A /* Info.plist */, | ||||
| 				13B07FB71A68108700A75B9A /* main.m */, | ||||
| 				E46FE2C02981C0DB007C107C /* LaunchScreen.storyboard */, | ||||
| 			); | ||||
| 			name = app; | ||||
| 			sourceTree = "<group>"; | ||||
| 		}; | ||||
| 		2D16E6871FA4F8E400B85C8A /* Frameworks */ = { | ||||
| 			isa = PBXGroup; | ||||
| 			children = ( | ||||
| 				ED297162215061F000B7C4FE /* JavaScriptCore.framework */, | ||||
| 				8789F612EDA2C48C6064ADD6 /* libPods-app.a */, | ||||
| 				C0C7BDE7769B84011D3747DC /* libPods-app-appTests.a */, | ||||
| 			); | ||||
| 			name = Frameworks; | ||||
| 			sourceTree = "<group>"; | ||||
| 		}; | ||||
| 		832341AE1AAA6A7D00B99B32 /* Libraries */ = { | ||||
| 			isa = PBXGroup; | ||||
| 			children = ( | ||||
| 			); | ||||
| 			name = Libraries; | ||||
| 			sourceTree = "<group>"; | ||||
| 		}; | ||||
| 		83CBB9F61A601CBA00E9B192 = { | ||||
| 			isa = PBXGroup; | ||||
| 			children = ( | ||||
| 				13B07FAE1A68108700A75B9A /* app */, | ||||
| 				832341AE1AAA6A7D00B99B32 /* Libraries */, | ||||
| 				00E356EF1AD99517003FC87E /* appTests */, | ||||
| 				83CBBA001A601CBA00E9B192 /* Products */, | ||||
| 				2D16E6871FA4F8E400B85C8A /* Frameworks */, | ||||
| 				BBD78D7AC51CEA395F1C20DB /* Pods */, | ||||
| 			); | ||||
| 			indentWidth = 2; | ||||
| 			sourceTree = "<group>"; | ||||
| 			tabWidth = 2; | ||||
| 			usesTabs = 0; | ||||
| 		}; | ||||
| 		83CBBA001A601CBA00E9B192 /* Products */ = { | ||||
| 			isa = PBXGroup; | ||||
| 			children = ( | ||||
| 				13B07F961A680F5B00A75B9A /* app.app */, | ||||
| 				00E356EE1AD99517003FC87E /* appTests.xctest */, | ||||
| 			); | ||||
| 			name = Products; | ||||
| 			sourceTree = "<group>"; | ||||
| 		}; | ||||
| 		BBD78D7AC51CEA395F1C20DB /* Pods */ = { | ||||
| 			isa = PBXGroup; | ||||
| 			children = ( | ||||
| 				8BB4EDB104E125B8A1913E74 /* Pods-app.debug.xcconfig */, | ||||
| 				53DBA218C184B95B107AC33E /* Pods-app.release.xcconfig */, | ||||
| 				C01FB6762BC17DADC0319338 /* Pods-app-appTests.debug.xcconfig */, | ||||
| 				A8E093A0B5DA947150924A68 /* Pods-app-appTests.release.xcconfig */, | ||||
| 			); | ||||
| 			path = Pods; | ||||
| 			sourceTree = "<group>"; | ||||
| 		}; | ||||
| /* End PBXGroup section */ | ||||
| 
 | ||||
| /* Begin PBXNativeTarget section */ | ||||
| 		00E356ED1AD99517003FC87E /* appTests */ = { | ||||
| 			isa = PBXNativeTarget; | ||||
| 			buildConfigurationList = 00E357021AD99517003FC87E /* Build configuration list for PBXNativeTarget "appTests" */; | ||||
| 			buildPhases = ( | ||||
| 				A6849EFFDCB214D4F4EAE972 /* [CP] Check Pods Manifest.lock */, | ||||
| 				00E356EA1AD99517003FC87E /* Sources */, | ||||
| 				00E356EB1AD99517003FC87E /* Frameworks */, | ||||
| 				00E356EC1AD99517003FC87E /* Resources */, | ||||
| 				DFA0C2B14E2F369C4B2337CE /* [CP] Copy Pods Resources */, | ||||
| 				B73FFC16945F7B215A06B698 /* [CP] Embed Pods Frameworks */, | ||||
| 			); | ||||
| 			buildRules = ( | ||||
| 			); | ||||
| 			dependencies = ( | ||||
| 				00E356F51AD99517003FC87E /* PBXTargetDependency */, | ||||
| 			); | ||||
| 			name = appTests; | ||||
| 			productName = appTests; | ||||
| 			productReference = 00E356EE1AD99517003FC87E /* appTests.xctest */; | ||||
| 			productType = "com.apple.product-type.bundle.unit-test"; | ||||
| 		}; | ||||
| 		13B07F861A680F5B00A75B9A /* app */ = { | ||||
| 			isa = PBXNativeTarget; | ||||
| 			buildConfigurationList = 13B07F931A680F5B00A75B9A /* Build configuration list for PBXNativeTarget "app" */; | ||||
| 			buildPhases = ( | ||||
| 				DDF15D430A078CE70E577FDA /* [CP] Check Pods Manifest.lock */, | ||||
| 				FD10A7F022414F080027D42C /* Start Packager */, | ||||
| 				13B07F871A680F5B00A75B9A /* Sources */, | ||||
| 				13B07F8C1A680F5B00A75B9A /* Frameworks */, | ||||
| 				13B07F8E1A680F5B00A75B9A /* Resources */, | ||||
| 				00DD1BFF1BD5951E006B06BC /* Bundle React Native code and images */, | ||||
| 				45E56D79C207C80AF89FBAA2 /* [CP] Copy Pods Resources */, | ||||
| 				B0229D18A3C8908C642F9131 /* [CP] Embed Pods Frameworks */, | ||||
| 			); | ||||
| 			buildRules = ( | ||||
| 			); | ||||
| 			dependencies = ( | ||||
| 			); | ||||
| 			name = app; | ||||
| 			productName = app; | ||||
| 			productReference = 13B07F961A680F5B00A75B9A /* app.app */; | ||||
| 			productType = "com.apple.product-type.application"; | ||||
| 		}; | ||||
| /* End PBXNativeTarget section */ | ||||
| 
 | ||||
| /* Begin PBXProject section */ | ||||
| 		83CBB9F71A601CBA00E9B192 /* Project object */ = { | ||||
| 			isa = PBXProject; | ||||
| 			attributes = { | ||||
| 				LastUpgradeCheck = 1340; | ||||
| 				TargetAttributes = { | ||||
| 					00E356ED1AD99517003FC87E = { | ||||
| 						CreatedOnToolsVersion = 6.2; | ||||
| 						TestTargetID = 13B07F861A680F5B00A75B9A; | ||||
| 					}; | ||||
| 					13B07F861A680F5B00A75B9A = { | ||||
| 						LastSwiftMigration = 1120; | ||||
| 					}; | ||||
| 				}; | ||||
| 			}; | ||||
| 			buildConfigurationList = 83CBB9FA1A601CBA00E9B192 /* Build configuration list for PBXProject "app" */; | ||||
| 			compatibilityVersion = "Xcode 12.0"; | ||||
| 			developmentRegion = en; | ||||
| 			hasScannedForEncodings = 0; | ||||
| 			knownRegions = ( | ||||
| 				en, | ||||
| 				Base, | ||||
| 			); | ||||
| 			mainGroup = 83CBB9F61A601CBA00E9B192; | ||||
| 			productRefGroup = 83CBBA001A601CBA00E9B192 /* Products */; | ||||
| 			projectDirPath = ""; | ||||
| 			projectRoot = ""; | ||||
| 			targets = ( | ||||
| 				13B07F861A680F5B00A75B9A /* app */, | ||||
| 				00E356ED1AD99517003FC87E /* appTests */, | ||||
| 			); | ||||
| 		}; | ||||
| /* End PBXProject section */ | ||||
| 
 | ||||
| /* Begin PBXResourcesBuildPhase section */ | ||||
| 		00E356EC1AD99517003FC87E /* Resources */ = { | ||||
| 			isa = PBXResourcesBuildPhase; | ||||
| 			buildActionMask = 2147483647; | ||||
| 			files = ( | ||||
| 			); | ||||
| 			runOnlyForDeploymentPostprocessing = 0; | ||||
| 		}; | ||||
| 		13B07F8E1A680F5B00A75B9A /* Resources */ = { | ||||
| 			isa = PBXResourcesBuildPhase; | ||||
| 			buildActionMask = 2147483647; | ||||
| 			files = ( | ||||
| 				E46FE2C12981C0DB007C107C /* LaunchScreen.storyboard in Resources */, | ||||
| 				E4BBD590292C1F5200296224 /* app.entitlements in Resources */, | ||||
| 				13B07FBF1A68108700A75B9A /* Images.xcassets in Resources */, | ||||
| 			); | ||||
| 			runOnlyForDeploymentPostprocessing = 0; | ||||
| 		}; | ||||
| /* End PBXResourcesBuildPhase section */ | ||||
| 
 | ||||
| /* Begin PBXShellScriptBuildPhase section */ | ||||
| 		00DD1BFF1BD5951E006B06BC /* Bundle React Native code and images */ = { | ||||
| 			isa = PBXShellScriptBuildPhase; | ||||
| 			buildActionMask = 2147483647; | ||||
| 			files = ( | ||||
| 			); | ||||
| 			inputPaths = ( | ||||
| 				"$(SRCROOT)/.xcode.env.local", | ||||
| 				"$(SRCROOT)/.xcode.env", | ||||
| 			); | ||||
| 			name = "Bundle React Native code and images"; | ||||
| 			outputPaths = ( | ||||
| 			); | ||||
| 			runOnlyForDeploymentPostprocessing = 0; | ||||
| 			shellPath = /bin/sh; | ||||
| 			shellScript = "set -e\n\nWITH_ENVIRONMENT=\"../node_modules/react-native/scripts/xcode/with-environment.sh\"\nREACT_NATIVE_XCODE=\"../node_modules/react-native/scripts/react-native-xcode.sh\"\n\n/bin/sh -c \"$WITH_ENVIRONMENT $REACT_NATIVE_XCODE\"\n"; | ||||
| 		}; | ||||
| 		45E56D79C207C80AF89FBAA2 /* [CP] Copy Pods Resources */ = { | ||||
| 			isa = PBXShellScriptBuildPhase; | ||||
| 			buildActionMask = 2147483647; | ||||
| 			files = ( | ||||
| 			); | ||||
| 			inputFileListPaths = ( | ||||
| 				"${PODS_ROOT}/Target Support Files/Pods-app/Pods-app-resources-${CONFIGURATION}-input-files.xcfilelist", | ||||
| 			); | ||||
| 			name = "[CP] Copy Pods Resources"; | ||||
| 			outputFileListPaths = ( | ||||
| 				"${PODS_ROOT}/Target Support Files/Pods-app/Pods-app-resources-${CONFIGURATION}-output-files.xcfilelist", | ||||
| 			); | ||||
| 			runOnlyForDeploymentPostprocessing = 0; | ||||
| 			shellPath = /bin/sh; | ||||
| 			shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-app/Pods-app-resources.sh\"\n"; | ||||
| 			showEnvVarsInLog = 0; | ||||
| 		}; | ||||
| 		A6849EFFDCB214D4F4EAE972 /* [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-app-appTests-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; | ||||
| 		}; | ||||
| 		B0229D18A3C8908C642F9131 /* [CP] Embed Pods Frameworks */ = { | ||||
| 			isa = PBXShellScriptBuildPhase; | ||||
| 			buildActionMask = 2147483647; | ||||
| 			files = ( | ||||
| 			); | ||||
| 			inputFileListPaths = ( | ||||
| 				"${PODS_ROOT}/Target Support Files/Pods-app/Pods-app-frameworks-${CONFIGURATION}-input-files.xcfilelist", | ||||
| 			); | ||||
| 			name = "[CP] Embed Pods Frameworks"; | ||||
| 			outputFileListPaths = ( | ||||
| 				"${PODS_ROOT}/Target Support Files/Pods-app/Pods-app-frameworks-${CONFIGURATION}-output-files.xcfilelist", | ||||
| 			); | ||||
| 			runOnlyForDeploymentPostprocessing = 0; | ||||
| 			shellPath = /bin/sh; | ||||
| 			shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-app/Pods-app-frameworks.sh\"\n"; | ||||
| 			showEnvVarsInLog = 0; | ||||
| 		}; | ||||
| 		B73FFC16945F7B215A06B698 /* [CP] Embed Pods Frameworks */ = { | ||||
| 			isa = PBXShellScriptBuildPhase; | ||||
| 			buildActionMask = 2147483647; | ||||
| 			files = ( | ||||
| 			); | ||||
| 			inputFileListPaths = ( | ||||
| 				"${PODS_ROOT}/Target Support Files/Pods-app-appTests/Pods-app-appTests-frameworks-${CONFIGURATION}-input-files.xcfilelist", | ||||
| 			); | ||||
| 			name = "[CP] Embed Pods Frameworks"; | ||||
| 			outputFileListPaths = ( | ||||
| 				"${PODS_ROOT}/Target Support Files/Pods-app-appTests/Pods-app-appTests-frameworks-${CONFIGURATION}-output-files.xcfilelist", | ||||
| 			); | ||||
| 			runOnlyForDeploymentPostprocessing = 0; | ||||
| 			shellPath = /bin/sh; | ||||
| 			shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-app-appTests/Pods-app-appTests-frameworks.sh\"\n"; | ||||
| 			showEnvVarsInLog = 0; | ||||
| 		}; | ||||
| 		DDF15D430A078CE70E577FDA /* [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-app-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; | ||||
| 		}; | ||||
| 		DFA0C2B14E2F369C4B2337CE /* [CP] Copy Pods Resources */ = { | ||||
| 			isa = PBXShellScriptBuildPhase; | ||||
| 			buildActionMask = 2147483647; | ||||
| 			files = ( | ||||
| 			); | ||||
| 			inputFileListPaths = ( | ||||
| 				"${PODS_ROOT}/Target Support Files/Pods-app-appTests/Pods-app-appTests-resources-${CONFIGURATION}-input-files.xcfilelist", | ||||
| 			); | ||||
| 			name = "[CP] Copy Pods Resources"; | ||||
| 			outputFileListPaths = ( | ||||
| 				"${PODS_ROOT}/Target Support Files/Pods-app-appTests/Pods-app-appTests-resources-${CONFIGURATION}-output-files.xcfilelist", | ||||
| 			); | ||||
| 			runOnlyForDeploymentPostprocessing = 0; | ||||
| 			shellPath = /bin/sh; | ||||
| 			shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-app-appTests/Pods-app-appTests-resources.sh\"\n"; | ||||
| 			showEnvVarsInLog = 0; | ||||
| 		}; | ||||
| 		FD10A7F022414F080027D42C /* Start Packager */ = { | ||||
| 			isa = PBXShellScriptBuildPhase; | ||||
| 			buildActionMask = 2147483647; | ||||
| 			files = ( | ||||
| 			); | ||||
| 			inputFileListPaths = ( | ||||
| 			); | ||||
| 			inputPaths = ( | ||||
| 			); | ||||
| 			name = "Start Packager"; | ||||
| 			outputFileListPaths = ( | ||||
| 			); | ||||
| 			outputPaths = ( | ||||
| 			); | ||||
| 			runOnlyForDeploymentPostprocessing = 0; | ||||
| 			shellPath = /bin/sh; | ||||
| 			shellScript = "export RCT_METRO_PORT=\"${RCT_METRO_PORT:=8081}\"\necho \"export RCT_METRO_PORT=${RCT_METRO_PORT}\" > \"${SRCROOT}/../node_modules/react-native/scripts/.packager.env\"\nif [ -z \"${RCT_NO_LAUNCH_PACKAGER+xxx}\" ] ; then\n  if nc -w 5 -z localhost ${RCT_METRO_PORT} ; then\n    if ! curl -s \"http://localhost:${RCT_METRO_PORT}/status\" | grep -q \"packager-status:running\" ; then\n      echo \"Port ${RCT_METRO_PORT} already in use, packager is either not running or not running correctly\"\n      exit 2\n    fi\n  else\n    open \"$SRCROOT/../node_modules/react-native/scripts/launchPackager.command\" || echo \"Can't start packager automatically\"\n  fi\nfi\n"; | ||||
| 			showEnvVarsInLog = 0; | ||||
| 		}; | ||||
| /* End PBXShellScriptBuildPhase section */ | ||||
| 
 | ||||
| /* Begin PBXSourcesBuildPhase section */ | ||||
| 		00E356EA1AD99517003FC87E /* Sources */ = { | ||||
| 			isa = PBXSourcesBuildPhase; | ||||
| 			buildActionMask = 2147483647; | ||||
| 			files = ( | ||||
| 				00E356F31AD99517003FC87E /* appTests.m in Sources */, | ||||
| 			); | ||||
| 			runOnlyForDeploymentPostprocessing = 0; | ||||
| 		}; | ||||
| 		13B07F871A680F5B00A75B9A /* Sources */ = { | ||||
| 			isa = PBXSourcesBuildPhase; | ||||
| 			buildActionMask = 2147483647; | ||||
| 			files = ( | ||||
| 				13B07FBC1A68108700A75B9A /* AppDelegate.mm in Sources */, | ||||
| 				13B07FC11A68108700A75B9A /* main.m in Sources */, | ||||
| 			); | ||||
| 			runOnlyForDeploymentPostprocessing = 0; | ||||
| 		}; | ||||
| /* End PBXSourcesBuildPhase section */ | ||||
| 
 | ||||
| /* Begin PBXTargetDependency section */ | ||||
| 		00E356F51AD99517003FC87E /* PBXTargetDependency */ = { | ||||
| 			isa = PBXTargetDependency; | ||||
| 			target = 13B07F861A680F5B00A75B9A /* app */; | ||||
| 			targetProxy = 00E356F41AD99517003FC87E /* PBXContainerItemProxy */; | ||||
| 		}; | ||||
| /* End PBXTargetDependency section */ | ||||
| 
 | ||||
| /* Begin XCBuildConfiguration section */ | ||||
| 		00E356F61AD99517003FC87E /* Debug */ = { | ||||
| 			isa = XCBuildConfiguration; | ||||
| 			baseConfigurationReference = C01FB6762BC17DADC0319338 /* Pods-app-appTests.debug.xcconfig */; | ||||
| 			buildSettings = { | ||||
| 				ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; | ||||
| 				BUNDLE_LOADER = "$(TEST_HOST)"; | ||||
| 				GCC_PREPROCESSOR_DEFINITIONS = ( | ||||
| 					"DEBUG=1", | ||||
| 					"$(inherited)", | ||||
| 				); | ||||
| 				INFOPLIST_FILE = appTests/Info.plist; | ||||
| 				IPHONEOS_DEPLOYMENT_TARGET = 12.0; | ||||
| 				LD_RUNPATH_SEARCH_PATHS = ( | ||||
| 					"$(inherited)", | ||||
| 					"@executable_path/Frameworks", | ||||
| 					"@loader_path/Frameworks", | ||||
| 				); | ||||
| 				OTHER_LDFLAGS = ( | ||||
| 					"-ObjC", | ||||
| 					"-lc++", | ||||
| 					"$(inherited)", | ||||
| 				); | ||||
| 				PRODUCT_BUNDLE_IDENTIFIER = "org.reactjs.native.example.$(PRODUCT_NAME:rfc1034identifier)"; | ||||
| 				PRODUCT_NAME = "$(TARGET_NAME)"; | ||||
| 				TEST_HOST = "$(BUILT_PRODUCTS_DIR)/app.app/app"; | ||||
| 			}; | ||||
| 			name = Debug; | ||||
| 		}; | ||||
| 		00E356F71AD99517003FC87E /* Release */ = { | ||||
| 			isa = XCBuildConfiguration; | ||||
| 			baseConfigurationReference = A8E093A0B5DA947150924A68 /* Pods-app-appTests.release.xcconfig */; | ||||
| 			buildSettings = { | ||||
| 				ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; | ||||
| 				BUNDLE_LOADER = "$(TEST_HOST)"; | ||||
| 				COPY_PHASE_STRIP = NO; | ||||
| 				INFOPLIST_FILE = appTests/Info.plist; | ||||
| 				IPHONEOS_DEPLOYMENT_TARGET = 12.0; | ||||
| 				LD_RUNPATH_SEARCH_PATHS = ( | ||||
| 					"$(inherited)", | ||||
| 					"@executable_path/Frameworks", | ||||
| 					"@loader_path/Frameworks", | ||||
| 				); | ||||
| 				OTHER_LDFLAGS = ( | ||||
| 					"-ObjC", | ||||
| 					"-lc++", | ||||
| 					"$(inherited)", | ||||
| 				); | ||||
| 				PRODUCT_BUNDLE_IDENTIFIER = "org.reactjs.native.example.$(PRODUCT_NAME:rfc1034identifier)"; | ||||
| 				PRODUCT_NAME = "$(TARGET_NAME)"; | ||||
| 				TEST_HOST = "$(BUILT_PRODUCTS_DIR)/app.app/app"; | ||||
| 			}; | ||||
| 			name = Release; | ||||
| 		}; | ||||
| 		13B07F941A680F5B00A75B9A /* Debug */ = { | ||||
| 			isa = XCBuildConfiguration; | ||||
| 			baseConfigurationReference = 8BB4EDB104E125B8A1913E74 /* Pods-app.debug.xcconfig */; | ||||
| 			buildSettings = { | ||||
| 				ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; | ||||
| 				CLANG_ENABLE_MODULES = YES; | ||||
| 				CODE_SIGN_ENTITLEMENTS = app/app.entitlements; | ||||
| 				CURRENT_PROJECT_VERSION = 1; | ||||
| 				DEVELOPMENT_TEAM = B3LX46C5HS; | ||||
| 				ENABLE_BITCODE = NO; | ||||
| 				"EXCLUDED_ARCHS[sdk=iphonesimulator*]" = arm64; | ||||
| 				INFOPLIST_FILE = app/Info.plist; | ||||
| 				IPHONEOS_DEPLOYMENT_TARGET = 12.4; | ||||
| 				LD_RUNPATH_SEARCH_PATHS = ( | ||||
| 					"$(inherited)", | ||||
| 					"@executable_path/Frameworks", | ||||
| 				); | ||||
| 				OTHER_LDFLAGS = ( | ||||
| 					"$(inherited)", | ||||
| 					"-ObjC", | ||||
| 					"-lc++", | ||||
| 				); | ||||
| 				PRODUCT_BUNDLE_IDENTIFIER = xyz.blueskyweb.app; | ||||
| 				PRODUCT_NAME = app; | ||||
| 				SWIFT_OPTIMIZATION_LEVEL = "-Onone"; | ||||
| 				SWIFT_VERSION = 5.0; | ||||
| 				VERSIONING_SYSTEM = "apple-generic"; | ||||
| 			}; | ||||
| 			name = Debug; | ||||
| 		}; | ||||
| 		13B07F951A680F5B00A75B9A /* Release */ = { | ||||
| 			isa = XCBuildConfiguration; | ||||
| 			baseConfigurationReference = 53DBA218C184B95B107AC33E /* Pods-app.release.xcconfig */; | ||||
| 			buildSettings = { | ||||
| 				ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; | ||||
| 				CLANG_ENABLE_MODULES = YES; | ||||
| 				CODE_SIGN_ENTITLEMENTS = app/app.entitlements; | ||||
| 				CURRENT_PROJECT_VERSION = 1; | ||||
| 				DEVELOPMENT_TEAM = B3LX46C5HS; | ||||
| 				"EXCLUDED_ARCHS[sdk=iphonesimulator*]" = arm64; | ||||
| 				INFOPLIST_FILE = app/Info.plist; | ||||
| 				IPHONEOS_DEPLOYMENT_TARGET = 12.4; | ||||
| 				LD_RUNPATH_SEARCH_PATHS = ( | ||||
| 					"$(inherited)", | ||||
| 					"@executable_path/Frameworks", | ||||
| 				); | ||||
| 				MARKETING_VERSION = 1.0; | ||||
| 				OTHER_LDFLAGS = ( | ||||
| 					"$(inherited)", | ||||
| 					"-ObjC", | ||||
| 					"-lc++", | ||||
| 				); | ||||
| 				PRODUCT_BUNDLE_IDENTIFIER = xyz.blueskyweb.app; | ||||
| 				PRODUCT_NAME = app; | ||||
| 				SWIFT_VERSION = 5.0; | ||||
| 				VERSIONING_SYSTEM = "apple-generic"; | ||||
| 			}; | ||||
| 			name = Release; | ||||
| 		}; | ||||
| 		83CBBA201A601CBA00E9B192 /* Debug */ = { | ||||
| 			isa = XCBuildConfiguration; | ||||
| 			buildSettings = { | ||||
| 				ALWAYS_SEARCH_USER_PATHS = NO; | ||||
| 				CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; | ||||
| 				CLANG_CXX_LANGUAGE_STANDARD = "c++17"; | ||||
| 				CLANG_CXX_LIBRARY = "libc++"; | ||||
| 				CLANG_ENABLE_MODULES = YES; | ||||
| 				CLANG_ENABLE_OBJC_ARC = 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_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_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; | ||||
| 				CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; | ||||
| 				CLANG_WARN_STRICT_PROTOTYPES = YES; | ||||
| 				CLANG_WARN_SUSPICIOUS_MOVE = YES; | ||||
| 				CLANG_WARN_UNREACHABLE_CODE = YES; | ||||
| 				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; | ||||
| 				"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; | ||||
| 				COPY_PHASE_STRIP = NO; | ||||
| 				ENABLE_STRICT_OBJC_MSGSEND = YES; | ||||
| 				ENABLE_TESTABILITY = YES; | ||||
| 				"EXCLUDED_ARCHS[sdk=iphonesimulator*]" = i386; | ||||
| 				GCC_C_LANGUAGE_STANDARD = gnu99; | ||||
| 				GCC_DYNAMIC_NO_PIC = NO; | ||||
| 				GCC_NO_COMMON_BLOCKS = YES; | ||||
| 				GCC_OPTIMIZATION_LEVEL = 0; | ||||
| 				GCC_PREPROCESSOR_DEFINITIONS = ( | ||||
| 					"DEBUG=1", | ||||
| 					"$(inherited)", | ||||
| 				); | ||||
| 				GCC_SYMBOLS_PRIVATE_EXTERN = NO; | ||||
| 				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 = 12.4; | ||||
| 				LD_RUNPATH_SEARCH_PATHS = ( | ||||
| 					/usr/lib/swift, | ||||
| 					"$(inherited)", | ||||
| 				); | ||||
| 				LIBRARY_SEARCH_PATHS = ( | ||||
| 					"\"$(SDKROOT)/usr/lib/swift\"", | ||||
| 					"\"$(TOOLCHAIN_DIR)/usr/lib/swift/$(PLATFORM_NAME)\"", | ||||
| 					"\"$(inherited)\"", | ||||
| 				); | ||||
| 				MTL_ENABLE_DEBUG_INFO = YES; | ||||
| 				ONLY_ACTIVE_ARCH = YES; | ||||
| 				OTHER_CPLUSPLUSFLAGS = ( | ||||
| 					"$(OTHER_CFLAGS)", | ||||
| 					"-DFOLLY_NO_CONFIG", | ||||
| 					"-DFOLLY_MOBILE=1", | ||||
| 					"-DFOLLY_USE_LIBCPP=1", | ||||
| 				); | ||||
| 				REACT_NATIVE_PATH = "${PODS_ROOT}/../../node_modules/react-native"; | ||||
| 				SDKROOT = iphoneos; | ||||
| 			}; | ||||
| 			name = Debug; | ||||
| 		}; | ||||
| 		83CBBA211A601CBA00E9B192 /* Release */ = { | ||||
| 			isa = XCBuildConfiguration; | ||||
| 			buildSettings = { | ||||
| 				ALWAYS_SEARCH_USER_PATHS = NO; | ||||
| 				CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; | ||||
| 				CLANG_CXX_LANGUAGE_STANDARD = "c++17"; | ||||
| 				CLANG_CXX_LIBRARY = "libc++"; | ||||
| 				CLANG_ENABLE_MODULES = YES; | ||||
| 				CLANG_ENABLE_OBJC_ARC = 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_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_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; | ||||
| 				CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; | ||||
| 				CLANG_WARN_STRICT_PROTOTYPES = YES; | ||||
| 				CLANG_WARN_SUSPICIOUS_MOVE = YES; | ||||
| 				CLANG_WARN_UNREACHABLE_CODE = YES; | ||||
| 				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; | ||||
| 				"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; | ||||
| 				COPY_PHASE_STRIP = YES; | ||||
| 				ENABLE_NS_ASSERTIONS = NO; | ||||
| 				ENABLE_STRICT_OBJC_MSGSEND = YES; | ||||
| 				"EXCLUDED_ARCHS[sdk=iphonesimulator*]" = i386; | ||||
| 				GCC_C_LANGUAGE_STANDARD = gnu99; | ||||
| 				GCC_NO_COMMON_BLOCKS = YES; | ||||
| 				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 = 12.4; | ||||
| 				LD_RUNPATH_SEARCH_PATHS = ( | ||||
| 					/usr/lib/swift, | ||||
| 					"$(inherited)", | ||||
| 				); | ||||
| 				LIBRARY_SEARCH_PATHS = ( | ||||
| 					"\"$(SDKROOT)/usr/lib/swift\"", | ||||
| 					"\"$(TOOLCHAIN_DIR)/usr/lib/swift/$(PLATFORM_NAME)\"", | ||||
| 					"\"$(inherited)\"", | ||||
| 				); | ||||
| 				MTL_ENABLE_DEBUG_INFO = NO; | ||||
| 				OTHER_CPLUSPLUSFLAGS = ( | ||||
| 					"$(OTHER_CFLAGS)", | ||||
| 					"-DFOLLY_NO_CONFIG", | ||||
| 					"-DFOLLY_MOBILE=1", | ||||
| 					"-DFOLLY_USE_LIBCPP=1", | ||||
| 				); | ||||
| 				REACT_NATIVE_PATH = "${PODS_ROOT}/../../node_modules/react-native"; | ||||
| 				SDKROOT = iphoneos; | ||||
| 				VALIDATE_PRODUCT = YES; | ||||
| 			}; | ||||
| 			name = Release; | ||||
| 		}; | ||||
| /* End XCBuildConfiguration section */ | ||||
| 
 | ||||
| /* Begin XCConfigurationList section */ | ||||
| 		00E357021AD99517003FC87E /* Build configuration list for PBXNativeTarget "appTests" */ = { | ||||
| 			isa = XCConfigurationList; | ||||
| 			buildConfigurations = ( | ||||
| 				00E356F61AD99517003FC87E /* Debug */, | ||||
| 				00E356F71AD99517003FC87E /* Release */, | ||||
| 			); | ||||
| 			defaultConfigurationIsVisible = 0; | ||||
| 			defaultConfigurationName = Release; | ||||
| 		}; | ||||
| 		13B07F931A680F5B00A75B9A /* Build configuration list for PBXNativeTarget "app" */ = { | ||||
| 			isa = XCConfigurationList; | ||||
| 			buildConfigurations = ( | ||||
| 				13B07F941A680F5B00A75B9A /* Debug */, | ||||
| 				13B07F951A680F5B00A75B9A /* Release */, | ||||
| 			); | ||||
| 			defaultConfigurationIsVisible = 0; | ||||
| 			defaultConfigurationName = Release; | ||||
| 		}; | ||||
| 		83CBB9FA1A601CBA00E9B192 /* Build configuration list for PBXProject "app" */ = { | ||||
| 			isa = XCConfigurationList; | ||||
| 			buildConfigurations = ( | ||||
| 				83CBBA201A601CBA00E9B192 /* Debug */, | ||||
| 				83CBBA211A601CBA00E9B192 /* Release */, | ||||
| 			); | ||||
| 			defaultConfigurationIsVisible = 0; | ||||
| 			defaultConfigurationName = Release; | ||||
| 		}; | ||||
| /* End XCConfigurationList section */ | ||||
| 	}; | ||||
| 	rootObject = 83CBB9F71A601CBA00E9B192 /* Project object */; | ||||
| } | ||||
|  | @ -1,6 +0,0 @@ | |||
| #import <RCTAppDelegate.h> | ||||
| #import <UIKit/UIKit.h> | ||||
| 
 | ||||
| @interface AppDelegate : RCTAppDelegate | ||||
| 
 | ||||
| @end | ||||
|  | @ -1,62 +0,0 @@ | |||
| #import "AppDelegate.h" | ||||
| 
 | ||||
| #import <React/RCTBundleURLProvider.h> | ||||
| 
 | ||||
| // universal links | ||||
| #import <React/RCTLinkingManager.h> | ||||
| 
 | ||||
| // splash screen | ||||
| #import "RNSplashScreen.h" | ||||
| 
 | ||||
| #import <TSBackgroundFetch/TSBackgroundFetch.h> | ||||
| 
 | ||||
| @implementation AppDelegate | ||||
| 
 | ||||
| - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions | ||||
| { | ||||
|   // Show the splash screen | ||||
|   // [RNSplashScreen show];  | ||||
|    | ||||
|   // Register BackgroundFetch | ||||
|   [[TSBackgroundFetch sharedInstance] didFinishLaunching]; | ||||
| 
 | ||||
|   self.moduleName = @"xyz.blueskyweb.app"; | ||||
|   self.initialProps = @{}; | ||||
|   return [super application:application didFinishLaunchingWithOptions:launchOptions]; | ||||
| } | ||||
| 
 | ||||
| - (NSURL *)sourceURLForBridge:(RCTBridge *)bridge | ||||
| { | ||||
| #if DEBUG | ||||
|   return [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@"index"]; | ||||
| #else | ||||
|   return [[NSBundle mainBundle] URLForResource:@"main" withExtension:@"jsbundle"]; | ||||
| #endif | ||||
| } | ||||
| 
 | ||||
| /// This method controls whether the `concurrentRoot`feature of React18 is turned on or off. | ||||
| /// | ||||
| /// @see: https://reactjs.org/blog/2022/03/29/react-v18.html | ||||
| /// @note: This requires to be rendering on Fabric (i.e. on the New Architecture). | ||||
| /// @return: `true` if the `concurrentRoot` feature is enabled. Otherwise, it returns `false`. | ||||
| - (BOOL)concurrentRootEnabled | ||||
| { | ||||
|   return true; | ||||
| } | ||||
| 
 | ||||
| // universal links | ||||
| - (BOOL)application:(UIApplication *)application | ||||
|   openURL:(NSURL *)url | ||||
|   options:(NSDictionary<UIApplicationOpenURLOptionsKey,id> *)options | ||||
| { | ||||
|   return [RCTLinkingManager application:application openURL:url options:options]; | ||||
| } | ||||
| 
 | ||||
| - (BOOL)application:(UIApplication *)application | ||||
|   continueUserActivity:(nonnull NSUserActivity *)userActivity | ||||
|   restorationHandler:(nonnull void (^)(NSArray<id<UIUserActivityRestoring>> * _Nullable))restorationHandler | ||||
| { | ||||
|   return [RCTLinkingManager application:application continueUserActivity:userActivity restorationHandler:restorationHandler]; | ||||
| } | ||||
| 
 | ||||
| @end | ||||
| Before Width: | Height: | Size: 20 KiB | 
| Before Width: | Height: | Size: 25 KiB | 
| Before Width: | Height: | Size: 28 KiB | 
| Before Width: | Height: | Size: 31 KiB | 
| Before Width: | Height: | Size: 38 KiB | 
| Before Width: | Height: | Size: 42 KiB | 
| Before Width: | Height: | Size: 853 B | 
| Before Width: | Height: | Size: 49 KiB | 
| Before Width: | Height: | Size: 52 KiB | 
| Before Width: | Height: | Size: 56 KiB | 
| Before Width: | Height: | Size: 65 KiB | 
| Before Width: | Height: | Size: 1.2 KiB | 
| Before Width: | Height: | Size: 77 KiB | 
| Before Width: | Height: | Size: 104 KiB | 
| Before Width: | Height: | Size: 2.3 KiB | 
| Before Width: | Height: | Size: 2.7 KiB | 
| Before Width: | Height: | Size: 4 KiB | 
| Before Width: | Height: | Size: 5.5 KiB | 
| Before Width: | Height: | Size: 5.9 KiB | 
| Before Width: | Height: | Size: 351 KiB | 
| Before Width: | Height: | Size: 7 KiB | 
| Before Width: | Height: | Size: 7.5 KiB | 
| Before Width: | Height: | Size: 7.7 KiB | 
| Before Width: | Height: | Size: 8.2 KiB | 
| Before Width: | Height: | Size: 9.2 KiB | 
| Before Width: | Height: | Size: 9.7 KiB | 
| Before Width: | Height: | Size: 11 KiB | 
| Before Width: | Height: | Size: 12 KiB | 
| Before Width: | Height: | Size: 14 KiB | 
| Before Width: | Height: | Size: 16 KiB | 
| Before Width: | Height: | Size: 16 KiB | 
| Before Width: | Height: | Size: 17 KiB | 
|  | @ -1,346 +0,0 @@ | |||
| { | ||||
|   "images" : [ | ||||
|     { | ||||
|       "filename" : "40.png", | ||||
|       "idiom" : "iphone", | ||||
|       "scale" : "2x", | ||||
|       "size" : "20x20" | ||||
|     }, | ||||
|     { | ||||
|       "filename" : "60.png", | ||||
|       "idiom" : "iphone", | ||||
|       "scale" : "3x", | ||||
|       "size" : "20x20" | ||||
|     }, | ||||
|     { | ||||
|       "filename" : "29.png", | ||||
|       "idiom" : "iphone", | ||||
|       "scale" : "1x", | ||||
|       "size" : "29x29" | ||||
|     }, | ||||
|     { | ||||
|       "filename" : "58.png", | ||||
|       "idiom" : "iphone", | ||||
|       "scale" : "2x", | ||||
|       "size" : "29x29" | ||||
|     }, | ||||
|     { | ||||
|       "filename" : "87.png", | ||||
|       "idiom" : "iphone", | ||||
|       "scale" : "3x", | ||||
|       "size" : "29x29" | ||||
|     }, | ||||
|     { | ||||
|       "filename" : "80.png", | ||||
|       "idiom" : "iphone", | ||||
|       "scale" : "2x", | ||||
|       "size" : "40x40" | ||||
|     }, | ||||
|     { | ||||
|       "filename" : "120.png", | ||||
|       "idiom" : "iphone", | ||||
|       "scale" : "3x", | ||||
|       "size" : "40x40" | ||||
|     }, | ||||
|     { | ||||
|       "filename" : "57.png", | ||||
|       "idiom" : "iphone", | ||||
|       "scale" : "1x", | ||||
|       "size" : "57x57" | ||||
|     }, | ||||
|     { | ||||
|       "filename" : "114.png", | ||||
|       "idiom" : "iphone", | ||||
|       "scale" : "2x", | ||||
|       "size" : "57x57" | ||||
|     }, | ||||
|     { | ||||
|       "filename" : "120.png", | ||||
|       "idiom" : "iphone", | ||||
|       "scale" : "2x", | ||||
|       "size" : "60x60" | ||||
|     }, | ||||
|     { | ||||
|       "filename" : "180.png", | ||||
|       "idiom" : "iphone", | ||||
|       "scale" : "3x", | ||||
|       "size" : "60x60" | ||||
|     }, | ||||
|     { | ||||
|       "filename" : "20.png", | ||||
|       "idiom" : "ipad", | ||||
|       "scale" : "1x", | ||||
|       "size" : "20x20" | ||||
|     }, | ||||
|     { | ||||
|       "filename" : "40.png", | ||||
|       "idiom" : "ipad", | ||||
|       "scale" : "2x", | ||||
|       "size" : "20x20" | ||||
|     }, | ||||
|     { | ||||
|       "filename" : "29.png", | ||||
|       "idiom" : "ipad", | ||||
|       "scale" : "1x", | ||||
|       "size" : "29x29" | ||||
|     }, | ||||
|     { | ||||
|       "filename" : "58.png", | ||||
|       "idiom" : "ipad", | ||||
|       "scale" : "2x", | ||||
|       "size" : "29x29" | ||||
|     }, | ||||
|     { | ||||
|       "filename" : "40.png", | ||||
|       "idiom" : "ipad", | ||||
|       "scale" : "1x", | ||||
|       "size" : "40x40" | ||||
|     }, | ||||
|     { | ||||
|       "filename" : "80.png", | ||||
|       "idiom" : "ipad", | ||||
|       "scale" : "2x", | ||||
|       "size" : "40x40" | ||||
|     }, | ||||
|     { | ||||
|       "filename" : "50.png", | ||||
|       "idiom" : "ipad", | ||||
|       "scale" : "1x", | ||||
|       "size" : "50x50" | ||||
|     }, | ||||
|     { | ||||
|       "filename" : "100.png", | ||||
|       "idiom" : "ipad", | ||||
|       "scale" : "2x", | ||||
|       "size" : "50x50" | ||||
|     }, | ||||
|     { | ||||
|       "filename" : "72.png", | ||||
|       "idiom" : "ipad", | ||||
|       "scale" : "1x", | ||||
|       "size" : "72x72" | ||||
|     }, | ||||
|     { | ||||
|       "filename" : "144.png", | ||||
|       "idiom" : "ipad", | ||||
|       "scale" : "2x", | ||||
|       "size" : "72x72" | ||||
|     }, | ||||
|     { | ||||
|       "filename" : "76.png", | ||||
|       "idiom" : "ipad", | ||||
|       "scale" : "1x", | ||||
|       "size" : "76x76" | ||||
|     }, | ||||
|     { | ||||
|       "filename" : "152.png", | ||||
|       "idiom" : "ipad", | ||||
|       "scale" : "2x", | ||||
|       "size" : "76x76" | ||||
|     }, | ||||
|     { | ||||
|       "filename" : "167.png", | ||||
|       "idiom" : "ipad", | ||||
|       "scale" : "2x", | ||||
|       "size" : "83.5x83.5" | ||||
|     }, | ||||
|     { | ||||
|       "filename" : "1024.png", | ||||
|       "idiom" : "ios-marketing", | ||||
|       "scale" : "1x", | ||||
|       "size" : "1024x1024" | ||||
|     }, | ||||
|     { | ||||
|       "filename" : "16.png", | ||||
|       "idiom" : "mac", | ||||
|       "scale" : "1x", | ||||
|       "size" : "16x16" | ||||
|     }, | ||||
|     { | ||||
|       "filename" : "32.png", | ||||
|       "idiom" : "mac", | ||||
|       "scale" : "2x", | ||||
|       "size" : "16x16" | ||||
|     }, | ||||
|     { | ||||
|       "filename" : "32.png", | ||||
|       "idiom" : "mac", | ||||
|       "scale" : "1x", | ||||
|       "size" : "32x32" | ||||
|     }, | ||||
|     { | ||||
|       "filename" : "64.png", | ||||
|       "idiom" : "mac", | ||||
|       "scale" : "2x", | ||||
|       "size" : "32x32" | ||||
|     }, | ||||
|     { | ||||
|       "filename" : "128.png", | ||||
|       "idiom" : "mac", | ||||
|       "scale" : "1x", | ||||
|       "size" : "128x128" | ||||
|     }, | ||||
|     { | ||||
|       "filename" : "256.png", | ||||
|       "idiom" : "mac", | ||||
|       "scale" : "2x", | ||||
|       "size" : "128x128" | ||||
|     }, | ||||
|     { | ||||
|       "filename" : "256.png", | ||||
|       "idiom" : "mac", | ||||
|       "scale" : "1x", | ||||
|       "size" : "256x256" | ||||
|     }, | ||||
|     { | ||||
|       "filename" : "512.png", | ||||
|       "idiom" : "mac", | ||||
|       "scale" : "2x", | ||||
|       "size" : "256x256" | ||||
|     }, | ||||
|     { | ||||
|       "filename" : "512.png", | ||||
|       "idiom" : "mac", | ||||
|       "scale" : "1x", | ||||
|       "size" : "512x512" | ||||
|     }, | ||||
|     { | ||||
|       "filename" : "1024.png", | ||||
|       "idiom" : "mac", | ||||
|       "scale" : "2x", | ||||
|       "size" : "512x512" | ||||
|     }, | ||||
|     { | ||||
|       "filename" : "48.png", | ||||
|       "idiom" : "watch", | ||||
|       "role" : "notificationCenter", | ||||
|       "scale" : "2x", | ||||
|       "size" : "24x24", | ||||
|       "subtype" : "38mm" | ||||
|     }, | ||||
|     { | ||||
|       "filename" : "55.png", | ||||
|       "idiom" : "watch", | ||||
|       "role" : "notificationCenter", | ||||
|       "scale" : "2x", | ||||
|       "size" : "27.5x27.5", | ||||
|       "subtype" : "42mm" | ||||
|     }, | ||||
|     { | ||||
|       "filename" : "58.png", | ||||
|       "idiom" : "watch", | ||||
|       "role" : "companionSettings", | ||||
|       "scale" : "2x", | ||||
|       "size" : "29x29" | ||||
|     }, | ||||
|     { | ||||
|       "filename" : "87.png", | ||||
|       "idiom" : "watch", | ||||
|       "role" : "companionSettings", | ||||
|       "scale" : "3x", | ||||
|       "size" : "29x29" | ||||
|     }, | ||||
|     { | ||||
|       "filename" : "66.png", | ||||
|       "idiom" : "watch", | ||||
|       "role" : "notificationCenter", | ||||
|       "scale" : "2x", | ||||
|       "size" : "33x33", | ||||
|       "subtype" : "45mm" | ||||
|     }, | ||||
|     { | ||||
|       "filename" : "80.png", | ||||
|       "idiom" : "watch", | ||||
|       "role" : "appLauncher", | ||||
|       "scale" : "2x", | ||||
|       "size" : "40x40", | ||||
|       "subtype" : "38mm" | ||||
|     }, | ||||
|     { | ||||
|       "filename" : "88.png", | ||||
|       "idiom" : "watch", | ||||
|       "role" : "appLauncher", | ||||
|       "scale" : "2x", | ||||
|       "size" : "44x44", | ||||
|       "subtype" : "40mm" | ||||
|     }, | ||||
|     { | ||||
|       "filename" : "92.png", | ||||
|       "idiom" : "watch", | ||||
|       "role" : "appLauncher", | ||||
|       "scale" : "2x", | ||||
|       "size" : "46x46", | ||||
|       "subtype" : "41mm" | ||||
|     }, | ||||
|     { | ||||
|       "filename" : "100.png", | ||||
|       "idiom" : "watch", | ||||
|       "role" : "appLauncher", | ||||
|       "scale" : "2x", | ||||
|       "size" : "50x50", | ||||
|       "subtype" : "44mm" | ||||
|     }, | ||||
|     { | ||||
|       "idiom" : "watch", | ||||
|       "role" : "appLauncher", | ||||
|       "scale" : "2x", | ||||
|       "size" : "51x51", | ||||
|       "subtype" : "45mm" | ||||
|     }, | ||||
|     { | ||||
|       "idiom" : "watch", | ||||
|       "role" : "appLauncher", | ||||
|       "scale" : "2x", | ||||
|       "size" : "54x54", | ||||
|       "subtype" : "49mm" | ||||
|     }, | ||||
|     { | ||||
|       "filename" : "172.png", | ||||
|       "idiom" : "watch", | ||||
|       "role" : "quickLook", | ||||
|       "scale" : "2x", | ||||
|       "size" : "86x86", | ||||
|       "subtype" : "38mm" | ||||
|     }, | ||||
|     { | ||||
|       "filename" : "196.png", | ||||
|       "idiom" : "watch", | ||||
|       "role" : "quickLook", | ||||
|       "scale" : "2x", | ||||
|       "size" : "98x98", | ||||
|       "subtype" : "42mm" | ||||
|     }, | ||||
|     { | ||||
|       "filename" : "216.png", | ||||
|       "idiom" : "watch", | ||||
|       "role" : "quickLook", | ||||
|       "scale" : "2x", | ||||
|       "size" : "108x108", | ||||
|       "subtype" : "44mm" | ||||
|     }, | ||||
|     { | ||||
|       "idiom" : "watch", | ||||
|       "role" : "quickLook", | ||||
|       "scale" : "2x", | ||||
|       "size" : "117x117", | ||||
|       "subtype" : "45mm" | ||||
|     }, | ||||
|     { | ||||
|       "idiom" : "watch", | ||||
|       "role" : "quickLook", | ||||
|       "scale" : "2x", | ||||
|       "size" : "129x129", | ||||
|       "subtype" : "49mm" | ||||
|     }, | ||||
|     { | ||||
|       "filename" : "1024.png", | ||||
|       "idiom" : "watch-marketing", | ||||
|       "scale" : "1x", | ||||
|       "size" : "1024x1024" | ||||
|     } | ||||
|   ], | ||||
|   "info" : { | ||||
|     "author" : "xcode", | ||||
|     "version" : 1 | ||||
|   } | ||||
| } | ||||
|  | @ -1,6 +0,0 @@ | |||
| { | ||||
|   "info" : { | ||||
|     "author" : "xcode", | ||||
|     "version" : 1 | ||||
|   } | ||||
| } | ||||
| Before Width: | Height: | Size: 696 KiB | 
| Before Width: | Height: | Size: 2.3 MiB | 
| Before Width: | Height: | Size: 4.6 MiB | 
|  | @ -1,86 +0,0 @@ | |||
| <?xml version="1.0" encoding="UTF-8"?> | ||||
| <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> | ||||
| <plist version="1.0"> | ||||
| <dict> | ||||
| 	<key>BGTaskSchedulerPermittedIdentifiers</key> | ||||
| 	<array> | ||||
| 		<string>com.transistorsoft.fetch</string> | ||||
| 	</array> | ||||
| 	<key>CFBundleDevelopmentRegion</key> | ||||
| 	<string>en</string> | ||||
| 	<key>CFBundleDisplayName</key> | ||||
| 	<string>Bluesky</string> | ||||
| 	<key>CFBundleExecutable</key> | ||||
| 	<string>$(EXECUTABLE_NAME)</string> | ||||
| 	<key>CFBundleIdentifier</key> | ||||
| 	<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string> | ||||
| 	<key>CFBundleInfoDictionaryVersion</key> | ||||
| 	<string>6.0</string> | ||||
| 	<key>CFBundleName</key> | ||||
| 	<string>$(PRODUCT_NAME)</string> | ||||
| 	<key>CFBundlePackageType</key> | ||||
| 	<string>APPL</string> | ||||
| 	<key>CFBundleShortVersionString</key> | ||||
| 	<string>1.6</string> | ||||
| 	<key>CFBundleSignature</key> | ||||
| 	<string>????</string> | ||||
| 	<key>CFBundleURLTypes</key> | ||||
| 	<array> | ||||
| 		<dict> | ||||
| 			<key>CFBundleTypeRole</key> | ||||
| 			<string>Editor</string> | ||||
| 			<key>CFBundleURLName</key> | ||||
| 			<string>xyz.blueskyweb.app</string> | ||||
| 			<key>CFBundleURLSchemes</key> | ||||
| 			<array> | ||||
| 				<string>bskyapp</string> | ||||
| 			</array> | ||||
| 		</dict> | ||||
| 	</array> | ||||
| 	<key>CFBundleVersion</key> | ||||
| 	<string>1</string> | ||||
| 	<key>ITSAppUsesNonExemptEncryption</key> | ||||
| 	<false/> | ||||
| 	<key>LSRequiresIPhoneOS</key> | ||||
| 	<true/> | ||||
| 	<key>NSAppTransportSecurity</key> | ||||
| 	<dict> | ||||
| 		<key>NSExceptionDomains</key> | ||||
| 		<dict> | ||||
| 			<key>localhost</key> | ||||
| 			<dict> | ||||
| 				<key>NSExceptionAllowsInsecureHTTPLoads</key> | ||||
| 				<true/> | ||||
| 			</dict> | ||||
| 		</dict> | ||||
| 	</dict> | ||||
| 	<key>NSCameraUsageDescription</key> | ||||
| 	<string>Used to take pictures and videos when composing posts, choosing avatars, and so on.</string> | ||||
| 	<key>NSLocationWhenInUseUsageDescription</key> | ||||
| 	<string></string> | ||||
| 	<key>NSPhotoLibraryUsageDescription</key> | ||||
| 	<string>Used to upload pictures and videos when composing posts, choosing avatars, and so on.</string> | ||||
| 	<key>UIBackgroundModes</key> | ||||
| 	<array> | ||||
| 		<string>fetch</string> | ||||
| 	</array> | ||||
| 	<key>UILaunchStoryboardName</key> | ||||
| 	<string>LaunchScreen</string> | ||||
| 	<key>UIRequiredDeviceCapabilities</key> | ||||
| 	<array> | ||||
| 		<string>armv7</string> | ||||
| 	</array> | ||||
| 	<key>UISupportedInterfaceOrientations</key> | ||||
| 	<array> | ||||
| 		<string>UIInterfaceOrientationPortrait</string> | ||||
| 	</array> | ||||
| 	<key>UISupportedInterfaceOrientations~ipad</key> | ||||
| 	<array> | ||||
| 		<string>UIInterfaceOrientationLandscapeLeft</string> | ||||
| 		<string>UIInterfaceOrientationLandscapeRight</string> | ||||
| 		<string>UIInterfaceOrientationPortrait</string> | ||||
| 	</array> | ||||
| 	<key>UIViewControllerBasedStatusBarAppearance</key> | ||||
| 	<false/> | ||||
| </dict> | ||||
| </plist> | ||||
							
								
								
									
										521
									
								
								ios/bluesky.xcodeproj/project.pbxproj
									
										
									
									
									
										Normal file
									
								
							
							
						
						|  | @ -0,0 +1,521 @@ | |||
| // !$*UTF8*$! | ||||
| { | ||||
| 	archiveVersion = 1; | ||||
| 	classes = { | ||||
| 	}; | ||||
| 	objectVersion = 46; | ||||
| 	objects = { | ||||
| 
 | ||||
| /* Begin PBXBuildFile section */ | ||||
| 		13B07FBC1A68108700A75B9A /* AppDelegate.mm in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB01A68108700A75B9A /* AppDelegate.mm */; }; | ||||
| 		13B07FBF1A68108700A75B9A /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 13B07FB51A68108700A75B9A /* Images.xcassets */; }; | ||||
| 		13B07FC11A68108700A75B9A /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB71A68108700A75B9A /* main.m */; }; | ||||
| 		3E461D99554A48A4959DE609 /* SplashScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = AA286B85B6C04FC6940260E9 /* SplashScreen.storyboard */; }; | ||||
| 		96905EF65AED1B983A6B3ABC /* libPods-bluesky.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 58EEBF8E8E6FB1BC6CAF49B5 /* libPods-bluesky.a */; }; | ||||
| 		B18059E884C0ABDD17F3DC3D /* ExpoModulesProvider.swift in Sources */ = {isa = PBXBuildFile; fileRef = FAC715A2D49A985799AEE119 /* ExpoModulesProvider.swift */; }; | ||||
| 		B6BE37E812824A869C1E16F6 /* noop-file.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4FECE0FEBF1E4D88B437323C /* noop-file.swift */; }; | ||||
| 		BB2F792D24A3F905000567C9 /* Expo.plist in Resources */ = {isa = PBXBuildFile; fileRef = BB2F792C24A3F905000567C9 /* Expo.plist */; }; | ||||
| /* End PBXBuildFile section */ | ||||
| 
 | ||||
| /* Begin PBXFileReference section */ | ||||
| 		008F07F21AC5B25A0029DE68 /* main.jsbundle */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = main.jsbundle; sourceTree = "<group>"; }; | ||||
| 		13B07F961A680F5B00A75B9A /* bluesky.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = bluesky.app; sourceTree = BUILT_PRODUCTS_DIR; }; | ||||
| 		13B07FAF1A68108700A75B9A /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AppDelegate.h; path = bluesky/AppDelegate.h; sourceTree = "<group>"; }; | ||||
| 		13B07FB01A68108700A75B9A /* AppDelegate.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = AppDelegate.mm; path = bluesky/AppDelegate.mm; sourceTree = "<group>"; }; | ||||
| 		13B07FB51A68108700A75B9A /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Images.xcassets; path = bluesky/Images.xcassets; sourceTree = "<group>"; }; | ||||
| 		13B07FB61A68108700A75B9A /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = Info.plist; path = bluesky/Info.plist; sourceTree = "<group>"; }; | ||||
| 		13B07FB71A68108700A75B9A /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = main.m; path = bluesky/main.m; sourceTree = "<group>"; }; | ||||
| 		4FECE0FEBF1E4D88B437323C /* noop-file.swift */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 4; includeInIndex = 0; lastKnownFileType = sourcecode.swift; name = "noop-file.swift"; path = "bluesky/noop-file.swift"; sourceTree = "<group>"; }; | ||||
| 		58EEBF8E8E6FB1BC6CAF49B5 /* libPods-bluesky.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-bluesky.a"; sourceTree = BUILT_PRODUCTS_DIR; }; | ||||
| 		6C2E3173556A471DD304B334 /* Pods-bluesky.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-bluesky.debug.xcconfig"; path = "Target Support Files/Pods-bluesky/Pods-bluesky.debug.xcconfig"; sourceTree = "<group>"; }; | ||||
| 		7A4D352CD337FB3A3BF06240 /* Pods-bluesky.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-bluesky.release.xcconfig"; path = "Target Support Files/Pods-bluesky/Pods-bluesky.release.xcconfig"; sourceTree = "<group>"; }; | ||||
| 		AA286B85B6C04FC6940260E9 /* SplashScreen.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; name = SplashScreen.storyboard; path = bluesky/SplashScreen.storyboard; sourceTree = "<group>"; }; | ||||
| 		BB2F792C24A3F905000567C9 /* Expo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Expo.plist; sourceTree = "<group>"; }; | ||||
| 		ED297162215061F000B7C4FE /* JavaScriptCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = JavaScriptCore.framework; path = System/Library/Frameworks/JavaScriptCore.framework; sourceTree = SDKROOT; }; | ||||
| 		FAC715A2D49A985799AEE119 /* ExpoModulesProvider.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ExpoModulesProvider.swift; path = "Pods/Target Support Files/Pods-bluesky/ExpoModulesProvider.swift"; sourceTree = "<group>"; }; | ||||
| /* End PBXFileReference section */ | ||||
| 
 | ||||
| /* Begin PBXFrameworksBuildPhase section */ | ||||
| 		13B07F8C1A680F5B00A75B9A /* Frameworks */ = { | ||||
| 			isa = PBXFrameworksBuildPhase; | ||||
| 			buildActionMask = 2147483647; | ||||
| 			files = ( | ||||
| 				96905EF65AED1B983A6B3ABC /* libPods-bluesky.a in Frameworks */, | ||||
| 			); | ||||
| 			runOnlyForDeploymentPostprocessing = 0; | ||||
| 		}; | ||||
| /* End PBXFrameworksBuildPhase section */ | ||||
| 
 | ||||
| /* Begin PBXGroup section */ | ||||
| 		13B07FAE1A68108700A75B9A /* bluesky */ = { | ||||
| 			isa = PBXGroup; | ||||
| 			children = ( | ||||
| 				BB2F792B24A3F905000567C9 /* Supporting */, | ||||
| 				008F07F21AC5B25A0029DE68 /* main.jsbundle */, | ||||
| 				13B07FAF1A68108700A75B9A /* AppDelegate.h */, | ||||
| 				13B07FB01A68108700A75B9A /* AppDelegate.mm */, | ||||
| 				13B07FB51A68108700A75B9A /* Images.xcassets */, | ||||
| 				13B07FB61A68108700A75B9A /* Info.plist */, | ||||
| 				13B07FB71A68108700A75B9A /* main.m */, | ||||
| 				AA286B85B6C04FC6940260E9 /* SplashScreen.storyboard */, | ||||
| 				4FECE0FEBF1E4D88B437323C /* noop-file.swift */, | ||||
| 			); | ||||
| 			name = bluesky; | ||||
| 			sourceTree = "<group>"; | ||||
| 		}; | ||||
| 		2D16E6871FA4F8E400B85C8A /* Frameworks */ = { | ||||
| 			isa = PBXGroup; | ||||
| 			children = ( | ||||
| 				ED297162215061F000B7C4FE /* JavaScriptCore.framework */, | ||||
| 				58EEBF8E8E6FB1BC6CAF49B5 /* libPods-bluesky.a */, | ||||
| 			); | ||||
| 			name = Frameworks; | ||||
| 			sourceTree = "<group>"; | ||||
| 		}; | ||||
| 		832341AE1AAA6A7D00B99B32 /* Libraries */ = { | ||||
| 			isa = PBXGroup; | ||||
| 			children = ( | ||||
| 			); | ||||
| 			name = Libraries; | ||||
| 			sourceTree = "<group>"; | ||||
| 		}; | ||||
| 		83CBB9F61A601CBA00E9B192 = { | ||||
| 			isa = PBXGroup; | ||||
| 			children = ( | ||||
| 				13B07FAE1A68108700A75B9A /* bluesky */, | ||||
| 				832341AE1AAA6A7D00B99B32 /* Libraries */, | ||||
| 				83CBBA001A601CBA00E9B192 /* Products */, | ||||
| 				2D16E6871FA4F8E400B85C8A /* Frameworks */, | ||||
| 				D65327D7A22EEC0BE12398D9 /* Pods */, | ||||
| 				D7E4C46ADA2E9064B798F356 /* ExpoModulesProviders */, | ||||
| 			); | ||||
| 			indentWidth = 2; | ||||
| 			sourceTree = "<group>"; | ||||
| 			tabWidth = 2; | ||||
| 			usesTabs = 0; | ||||
| 		}; | ||||
| 		83CBBA001A601CBA00E9B192 /* Products */ = { | ||||
| 			isa = PBXGroup; | ||||
| 			children = ( | ||||
| 				13B07F961A680F5B00A75B9A /* bluesky.app */, | ||||
| 			); | ||||
| 			name = Products; | ||||
| 			sourceTree = "<group>"; | ||||
| 		}; | ||||
| 		92DBD88DE9BF7D494EA9DA96 /* bluesky */ = { | ||||
| 			isa = PBXGroup; | ||||
| 			children = ( | ||||
| 				FAC715A2D49A985799AEE119 /* ExpoModulesProvider.swift */, | ||||
| 			); | ||||
| 			name = bluesky; | ||||
| 			sourceTree = "<group>"; | ||||
| 		}; | ||||
| 		BB2F792B24A3F905000567C9 /* Supporting */ = { | ||||
| 			isa = PBXGroup; | ||||
| 			children = ( | ||||
| 				BB2F792C24A3F905000567C9 /* Expo.plist */, | ||||
| 			); | ||||
| 			name = Supporting; | ||||
| 			path = bluesky/Supporting; | ||||
| 			sourceTree = "<group>"; | ||||
| 		}; | ||||
| 		D65327D7A22EEC0BE12398D9 /* Pods */ = { | ||||
| 			isa = PBXGroup; | ||||
| 			children = ( | ||||
| 				6C2E3173556A471DD304B334 /* Pods-bluesky.debug.xcconfig */, | ||||
| 				7A4D352CD337FB3A3BF06240 /* Pods-bluesky.release.xcconfig */, | ||||
| 			); | ||||
| 			path = Pods; | ||||
| 			sourceTree = "<group>"; | ||||
| 		}; | ||||
| 		D7E4C46ADA2E9064B798F356 /* ExpoModulesProviders */ = { | ||||
| 			isa = PBXGroup; | ||||
| 			children = ( | ||||
| 				92DBD88DE9BF7D494EA9DA96 /* bluesky */, | ||||
| 			); | ||||
| 			name = ExpoModulesProviders; | ||||
| 			sourceTree = "<group>"; | ||||
| 		}; | ||||
| /* End PBXGroup section */ | ||||
| 
 | ||||
| /* Begin PBXNativeTarget section */ | ||||
| 		13B07F861A680F5B00A75B9A /* bluesky */ = { | ||||
| 			isa = PBXNativeTarget; | ||||
| 			buildConfigurationList = 13B07F931A680F5B00A75B9A /* Build configuration list for PBXNativeTarget "bluesky" */; | ||||
| 			buildPhases = ( | ||||
| 				08A4A3CD28434E44B6B9DE2E /* [CP] Check Pods Manifest.lock */, | ||||
| 				FD10A7F022414F080027D42C /* Start Packager */, | ||||
| 				13B07F871A680F5B00A75B9A /* Sources */, | ||||
| 				13B07F8C1A680F5B00A75B9A /* Frameworks */, | ||||
| 				13B07F8E1A680F5B00A75B9A /* Resources */, | ||||
| 				00DD1BFF1BD5951E006B06BC /* Bundle React Native code and images */, | ||||
| 				800E24972A6A228C8D4807E9 /* [CP] Copy Pods Resources */, | ||||
| 				0FD458797140490C54BA8FEC /* [CP] Embed Pods Frameworks */, | ||||
| 			); | ||||
| 			buildRules = ( | ||||
| 			); | ||||
| 			dependencies = ( | ||||
| 			); | ||||
| 			name = bluesky; | ||||
| 			productName = bluesky; | ||||
| 			productReference = 13B07F961A680F5B00A75B9A /* bluesky.app */; | ||||
| 			productType = "com.apple.product-type.application"; | ||||
| 		}; | ||||
| /* End PBXNativeTarget section */ | ||||
| 
 | ||||
| /* Begin PBXProject section */ | ||||
| 		83CBB9F71A601CBA00E9B192 /* Project object */ = { | ||||
| 			isa = PBXProject; | ||||
| 			attributes = { | ||||
| 				LastUpgradeCheck = 1130; | ||||
| 				TargetAttributes = { | ||||
| 					13B07F861A680F5B00A75B9A = { | ||||
| 						DevelopmentTeam = B3LX46C5HS; | ||||
| 						LastSwiftMigration = 1250; | ||||
| 					}; | ||||
| 				}; | ||||
| 			}; | ||||
| 			buildConfigurationList = 83CBB9FA1A601CBA00E9B192 /* Build configuration list for PBXProject "bluesky" */; | ||||
| 			compatibilityVersion = "Xcode 3.2"; | ||||
| 			developmentRegion = en; | ||||
| 			hasScannedForEncodings = 0; | ||||
| 			knownRegions = ( | ||||
| 				en, | ||||
| 				Base, | ||||
| 			); | ||||
| 			mainGroup = 83CBB9F61A601CBA00E9B192; | ||||
| 			productRefGroup = 83CBBA001A601CBA00E9B192 /* Products */; | ||||
| 			projectDirPath = ""; | ||||
| 			projectRoot = ""; | ||||
| 			targets = ( | ||||
| 				13B07F861A680F5B00A75B9A /* bluesky */, | ||||
| 			); | ||||
| 		}; | ||||
| /* End PBXProject section */ | ||||
| 
 | ||||
| /* Begin PBXResourcesBuildPhase section */ | ||||
| 		13B07F8E1A680F5B00A75B9A /* Resources */ = { | ||||
| 			isa = PBXResourcesBuildPhase; | ||||
| 			buildActionMask = 2147483647; | ||||
| 			files = ( | ||||
| 				BB2F792D24A3F905000567C9 /* Expo.plist in Resources */, | ||||
| 				13B07FBF1A68108700A75B9A /* Images.xcassets in Resources */, | ||||
| 				3E461D99554A48A4959DE609 /* SplashScreen.storyboard in Resources */, | ||||
| 			); | ||||
| 			runOnlyForDeploymentPostprocessing = 0; | ||||
| 		}; | ||||
| /* End PBXResourcesBuildPhase section */ | ||||
| 
 | ||||
| /* Begin PBXShellScriptBuildPhase section */ | ||||
| 		00DD1BFF1BD5951E006B06BC /* Bundle React Native code and images */ = { | ||||
| 			isa = PBXShellScriptBuildPhase; | ||||
| 			buildActionMask = 2147483647; | ||||
| 			files = ( | ||||
| 			); | ||||
| 			inputPaths = ( | ||||
| 			); | ||||
| 			name = "Bundle React Native code and images"; | ||||
| 			outputPaths = ( | ||||
| 			); | ||||
| 			runOnlyForDeploymentPostprocessing = 0; | ||||
| 			shellPath = /bin/sh; | ||||
| 			shellScript = "if [[ -f \"$PODS_ROOT/../.xcode.env\" ]]; then\n  source \"$PODS_ROOT/../.xcode.env\"\nfi\nif [[ -f \"$PODS_ROOT/../.xcode.env.local\" ]]; then\n  source \"$PODS_ROOT/../.xcode.env.local\"\nfi\n\n# The project root by default is one level up from the ios directory\nexport PROJECT_ROOT=\"$PROJECT_DIR\"/..\n\nif [[ \"$CONFIGURATION\" = *Debug* ]]; then\n  export SKIP_BUNDLING=1\nfi\nif [[ -z \"$ENTRY_FILE\" ]]; then\n  # Set the entry JS file using the bundler's entry resolution.\n  export ENTRY_FILE=\"$(\"$NODE_BINARY\" -e \"require('expo/scripts/resolveAppEntry')\" $PROJECT_ROOT ios relative | tail -n 1)\"\nfi\n\n`\"$NODE_BINARY\" --print \"require('path').dirname(require.resolve('react-native/package.json')) + '/scripts/react-native-xcode.sh'\"`\n\n"; | ||||
| 		}; | ||||
| 		08A4A3CD28434E44B6B9DE2E /* [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-bluesky-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; | ||||
| 		}; | ||||
| 		0FD458797140490C54BA8FEC /* [CP] Embed Pods Frameworks */ = { | ||||
| 			isa = PBXShellScriptBuildPhase; | ||||
| 			buildActionMask = 2147483647; | ||||
| 			files = ( | ||||
| 			); | ||||
| 			inputPaths = ( | ||||
| 				"${PODS_ROOT}/Target Support Files/Pods-bluesky/Pods-bluesky-frameworks.sh", | ||||
| 				"${PODS_XCFRAMEWORKS_BUILD_DIR}/hermes-engine/Pre-built/hermes.framework/hermes", | ||||
| 			); | ||||
| 			name = "[CP] Embed Pods Frameworks"; | ||||
| 			outputPaths = ( | ||||
| 				"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/hermes.framework", | ||||
| 			); | ||||
| 			runOnlyForDeploymentPostprocessing = 0; | ||||
| 			shellPath = /bin/sh; | ||||
| 			shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-bluesky/Pods-bluesky-frameworks.sh\"\n"; | ||||
| 			showEnvVarsInLog = 0; | ||||
| 		}; | ||||
| 		800E24972A6A228C8D4807E9 /* [CP] Copy Pods Resources */ = { | ||||
| 			isa = PBXShellScriptBuildPhase; | ||||
| 			buildActionMask = 2147483647; | ||||
| 			files = ( | ||||
| 			); | ||||
| 			inputPaths = ( | ||||
| 				"${PODS_ROOT}/Target Support Files/Pods-bluesky/Pods-bluesky-resources.sh", | ||||
| 				"${PODS_CONFIGURATION_BUILD_DIR}/EXConstants/EXConstants.bundle", | ||||
| 				"${PODS_CONFIGURATION_BUILD_DIR}/RNImageCropPicker/QBImagePicker.bundle", | ||||
| 				"${PODS_CONFIGURATION_BUILD_DIR}/React-Core/AccessibilityResources.bundle", | ||||
| 				"${PODS_CONFIGURATION_BUILD_DIR}/TOCropViewController/TOCropViewControllerBundle.bundle", | ||||
| 				"${PODS_CONFIGURATION_BUILD_DIR}/expo-dev-launcher/EXDevLauncher.bundle", | ||||
| 				"${PODS_CONFIGURATION_BUILD_DIR}/expo-dev-menu/EXDevMenu.bundle", | ||||
| 			); | ||||
| 			name = "[CP] Copy Pods Resources"; | ||||
| 			outputPaths = ( | ||||
| 				"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/EXConstants.bundle", | ||||
| 				"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/QBImagePicker.bundle", | ||||
| 				"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/AccessibilityResources.bundle", | ||||
| 				"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/TOCropViewControllerBundle.bundle", | ||||
| 				"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/EXDevLauncher.bundle", | ||||
| 				"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/EXDevMenu.bundle", | ||||
| 			); | ||||
| 			runOnlyForDeploymentPostprocessing = 0; | ||||
| 			shellPath = /bin/sh; | ||||
| 			shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-bluesky/Pods-bluesky-resources.sh\"\n"; | ||||
| 			showEnvVarsInLog = 0; | ||||
| 		}; | ||||
| 		FD10A7F022414F080027D42C /* Start Packager */ = { | ||||
| 			isa = PBXShellScriptBuildPhase; | ||||
| 			buildActionMask = 2147483647; | ||||
| 			files = ( | ||||
| 			); | ||||
| 			inputFileListPaths = ( | ||||
| 			); | ||||
| 			inputPaths = ( | ||||
| 			); | ||||
| 			name = "Start Packager"; | ||||
| 			outputFileListPaths = ( | ||||
| 			); | ||||
| 			outputPaths = ( | ||||
| 			); | ||||
| 			runOnlyForDeploymentPostprocessing = 0; | ||||
| 			shellPath = /bin/sh; | ||||
| 			shellScript = "if [[ -f \"$PODS_ROOT/../.xcode.env\" ]]; then\n  source \"$PODS_ROOT/../.xcode.env\"\nfi\nif [[ -f \"$PODS_ROOT/../.xcode.env.local\" ]]; then\n  source \"$PODS_ROOT/../.xcode.env.local\"\nfi\n\nexport RCT_METRO_PORT=\"${RCT_METRO_PORT:=8081}\"\necho \"export RCT_METRO_PORT=${RCT_METRO_PORT}\" > `$NODE_BINARY --print \"require('path').dirname(require.resolve('react-native/package.json')) + '/scripts/.packager.env'\"`\nif [ -z \"${RCT_NO_LAUNCH_PACKAGER+xxx}\" ] ; then\n  if nc -w 5 -z localhost ${RCT_METRO_PORT} ; then\n    if ! curl -s \"http://localhost:${RCT_METRO_PORT}/status\" | grep -q \"packager-status:running\" ; then\n      echo \"Port ${RCT_METRO_PORT} already in use, packager is either not running or not running correctly\"\n      exit 2\n    fi\n  else\n    open `$NODE_BINARY --print \"require('path').dirname(require.resolve('react-native/package.json')) + '/scripts/launchPackager.command'\"` || echo \"Can't start packager automatically\"\n  fi\nfi\n"; | ||||
| 			showEnvVarsInLog = 0; | ||||
| 		}; | ||||
| /* End PBXShellScriptBuildPhase section */ | ||||
| 
 | ||||
| /* Begin PBXSourcesBuildPhase section */ | ||||
| 		13B07F871A680F5B00A75B9A /* Sources */ = { | ||||
| 			isa = PBXSourcesBuildPhase; | ||||
| 			buildActionMask = 2147483647; | ||||
| 			files = ( | ||||
| 				13B07FBC1A68108700A75B9A /* AppDelegate.mm in Sources */, | ||||
| 				13B07FC11A68108700A75B9A /* main.m in Sources */, | ||||
| 				B18059E884C0ABDD17F3DC3D /* ExpoModulesProvider.swift in Sources */, | ||||
| 				B6BE37E812824A869C1E16F6 /* noop-file.swift in Sources */, | ||||
| 			); | ||||
| 			runOnlyForDeploymentPostprocessing = 0; | ||||
| 		}; | ||||
| /* End PBXSourcesBuildPhase section */ | ||||
| 
 | ||||
| /* Begin XCBuildConfiguration section */ | ||||
| 		13B07F941A680F5B00A75B9A /* Debug */ = { | ||||
| 			isa = XCBuildConfiguration; | ||||
| 			baseConfigurationReference = 6C2E3173556A471DD304B334 /* Pods-bluesky.debug.xcconfig */; | ||||
| 			buildSettings = { | ||||
| 				ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; | ||||
| 				CLANG_ENABLE_MODULES = YES; | ||||
| 				CODE_SIGN_ENTITLEMENTS = bluesky/bluesky.entitlements; | ||||
| 				CURRENT_PROJECT_VERSION = 1; | ||||
| 				DEVELOPMENT_TEAM = B3LX46C5HS; | ||||
| 				ENABLE_BITCODE = NO; | ||||
| 				GCC_PREPROCESSOR_DEFINITIONS = ( | ||||
| 					"$(inherited)", | ||||
| 					"FB_SONARKIT_ENABLED=1", | ||||
| 				); | ||||
| 				INFOPLIST_FILE = bluesky/Info.plist; | ||||
| 				IPHONEOS_DEPLOYMENT_TARGET = 13.0; | ||||
| 				LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; | ||||
| 				MARKETING_VERSION = 1.0; | ||||
| 				OTHER_LDFLAGS = ( | ||||
| 					"$(inherited)", | ||||
| 					"-ObjC", | ||||
| 					"-lc++", | ||||
| 				); | ||||
| 				OTHER_SWIFT_FLAGS = "$(inherited) -D EXPO_CONFIGURATION_DEBUG"; | ||||
| 				PRODUCT_BUNDLE_IDENTIFIER = xyz.blueskyweb.app; | ||||
| 				PRODUCT_NAME = bluesky; | ||||
| 				SWIFT_OPTIMIZATION_LEVEL = "-Onone"; | ||||
| 				SWIFT_VERSION = 5.0; | ||||
| 				TARGETED_DEVICE_FAMILY = "1,2"; | ||||
| 				VERSIONING_SYSTEM = "apple-generic"; | ||||
| 			}; | ||||
| 			name = Debug; | ||||
| 		}; | ||||
| 		13B07F951A680F5B00A75B9A /* Release */ = { | ||||
| 			isa = XCBuildConfiguration; | ||||
| 			baseConfigurationReference = 7A4D352CD337FB3A3BF06240 /* Pods-bluesky.release.xcconfig */; | ||||
| 			buildSettings = { | ||||
| 				ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; | ||||
| 				CLANG_ENABLE_MODULES = YES; | ||||
| 				CODE_SIGN_ENTITLEMENTS = bluesky/bluesky.entitlements; | ||||
| 				CURRENT_PROJECT_VERSION = 1; | ||||
| 				DEVELOPMENT_TEAM = B3LX46C5HS; | ||||
| 				INFOPLIST_FILE = bluesky/Info.plist; | ||||
| 				IPHONEOS_DEPLOYMENT_TARGET = 13.0; | ||||
| 				LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; | ||||
| 				MARKETING_VERSION = 1.0; | ||||
| 				OTHER_LDFLAGS = ( | ||||
| 					"$(inherited)", | ||||
| 					"-ObjC", | ||||
| 					"-lc++", | ||||
| 				); | ||||
| 				OTHER_SWIFT_FLAGS = "$(inherited) -D EXPO_CONFIGURATION_RELEASE"; | ||||
| 				PRODUCT_BUNDLE_IDENTIFIER = xyz.blueskyweb.app; | ||||
| 				PRODUCT_NAME = bluesky; | ||||
| 				SWIFT_VERSION = 5.0; | ||||
| 				TARGETED_DEVICE_FAMILY = "1,2"; | ||||
| 				VERSIONING_SYSTEM = "apple-generic"; | ||||
| 			}; | ||||
| 			name = Release; | ||||
| 		}; | ||||
| 		83CBBA201A601CBA00E9B192 /* Debug */ = { | ||||
| 			isa = XCBuildConfiguration; | ||||
| 			buildSettings = { | ||||
| 				ALWAYS_SEARCH_USER_PATHS = NO; | ||||
| 				CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; | ||||
| 				CLANG_CXX_LANGUAGE_STANDARD = "c++17"; | ||||
| 				CLANG_CXX_LIBRARY = "libc++"; | ||||
| 				CLANG_ENABLE_MODULES = YES; | ||||
| 				CLANG_ENABLE_OBJC_ARC = 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_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_UNREACHABLE_CODE = YES; | ||||
| 				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; | ||||
| 				"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; | ||||
| 				COPY_PHASE_STRIP = NO; | ||||
| 				ENABLE_STRICT_OBJC_MSGSEND = YES; | ||||
| 				ENABLE_TESTABILITY = YES; | ||||
| 				"EXCLUDED_ARCHS[sdk=iphonesimulator*]" = i386; | ||||
| 				GCC_C_LANGUAGE_STANDARD = gnu99; | ||||
| 				GCC_DYNAMIC_NO_PIC = NO; | ||||
| 				GCC_NO_COMMON_BLOCKS = YES; | ||||
| 				GCC_OPTIMIZATION_LEVEL = 0; | ||||
| 				GCC_PREPROCESSOR_DEFINITIONS = ( | ||||
| 					"DEBUG=1", | ||||
| 					"$(inherited)", | ||||
| 				); | ||||
| 				GCC_SYMBOLS_PRIVATE_EXTERN = NO; | ||||
| 				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 = 13.0; | ||||
| 				LD_RUNPATH_SEARCH_PATHS = "/usr/lib/swift $(inherited)"; | ||||
| 				LIBRARY_SEARCH_PATHS = "$(SDKROOT)/usr/lib/swift\"$(inherited)\""; | ||||
| 				MTL_ENABLE_DEBUG_INFO = YES; | ||||
| 				ONLY_ACTIVE_ARCH = YES; | ||||
| 				REACT_NATIVE_PATH = "${PODS_ROOT}/../../node_modules/react-native"; | ||||
| 				SDKROOT = iphoneos; | ||||
| 			}; | ||||
| 			name = Debug; | ||||
| 		}; | ||||
| 		83CBBA211A601CBA00E9B192 /* Release */ = { | ||||
| 			isa = XCBuildConfiguration; | ||||
| 			buildSettings = { | ||||
| 				ALWAYS_SEARCH_USER_PATHS = NO; | ||||
| 				CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; | ||||
| 				CLANG_CXX_LANGUAGE_STANDARD = "c++17"; | ||||
| 				CLANG_CXX_LIBRARY = "libc++"; | ||||
| 				CLANG_ENABLE_MODULES = YES; | ||||
| 				CLANG_ENABLE_OBJC_ARC = 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_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_UNREACHABLE_CODE = YES; | ||||
| 				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; | ||||
| 				"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; | ||||
| 				COPY_PHASE_STRIP = YES; | ||||
| 				ENABLE_NS_ASSERTIONS = NO; | ||||
| 				ENABLE_STRICT_OBJC_MSGSEND = YES; | ||||
| 				"EXCLUDED_ARCHS[sdk=iphonesimulator*]" = i386; | ||||
| 				GCC_C_LANGUAGE_STANDARD = gnu99; | ||||
| 				GCC_NO_COMMON_BLOCKS = YES; | ||||
| 				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 = 13.0; | ||||
| 				LD_RUNPATH_SEARCH_PATHS = "/usr/lib/swift $(inherited)"; | ||||
| 				LIBRARY_SEARCH_PATHS = "$(SDKROOT)/usr/lib/swift\"$(inherited)\""; | ||||
| 				MTL_ENABLE_DEBUG_INFO = NO; | ||||
| 				REACT_NATIVE_PATH = "${PODS_ROOT}/../../node_modules/react-native"; | ||||
| 				SDKROOT = iphoneos; | ||||
| 				VALIDATE_PRODUCT = YES; | ||||
| 			}; | ||||
| 			name = Release; | ||||
| 		}; | ||||
| /* End XCBuildConfiguration section */ | ||||
| 
 | ||||
| /* Begin XCConfigurationList section */ | ||||
| 		13B07F931A680F5B00A75B9A /* Build configuration list for PBXNativeTarget "bluesky" */ = { | ||||
| 			isa = XCConfigurationList; | ||||
| 			buildConfigurations = ( | ||||
| 				13B07F941A680F5B00A75B9A /* Debug */, | ||||
| 				13B07F951A680F5B00A75B9A /* Release */, | ||||
| 			); | ||||
| 			defaultConfigurationIsVisible = 0; | ||||
| 			defaultConfigurationName = Release; | ||||
| 		}; | ||||
| 		83CBB9FA1A601CBA00E9B192 /* Build configuration list for PBXProject "bluesky" */ = { | ||||
| 			isa = XCConfigurationList; | ||||
| 			buildConfigurations = ( | ||||
| 				83CBBA201A601CBA00E9B192 /* Debug */, | ||||
| 				83CBBA211A601CBA00E9B192 /* Release */, | ||||
| 			); | ||||
| 			defaultConfigurationIsVisible = 0; | ||||
| 			defaultConfigurationName = Release; | ||||
| 		}; | ||||
| /* End XCConfigurationList section */ | ||||
| 	}; | ||||
| 	rootObject = 83CBB9F71A601CBA00E9B192 /* Project object */; | ||||
| } | ||||
							
								
								
									
										7
									
								
								ios/bluesky.xcodeproj/project.xcworkspace/contents.xcworkspacedata
									
										
									
										generated
									
									
									
										Normal file
									
								
							
							
						
						|  | @ -0,0 +1,7 @@ | |||
| <?xml version="1.0" encoding="UTF-8"?> | ||||
| <Workspace | ||||
|    version = "1.0"> | ||||
|    <FileRef | ||||
|       location = "self:"> | ||||
|    </FileRef> | ||||
| </Workspace> | ||||
|  | @ -1,6 +1,6 @@ | |||
| <?xml version="1.0" encoding="UTF-8"?> | ||||
| <Scheme | ||||
|    LastUpgradeVersion = "1340" | ||||
|    LastUpgradeVersion = "1130" | ||||
|    version = "1.3"> | ||||
|    <BuildAction | ||||
|       parallelizeBuildables = "YES" | ||||
|  | @ -15,9 +15,9 @@ | |||
|             <BuildableReference | ||||
|                BuildableIdentifier = "primary" | ||||
|                BlueprintIdentifier = "13B07F861A680F5B00A75B9A" | ||||
|                BuildableName = "app.app" | ||||
|                BlueprintName = "app" | ||||
|                ReferencedContainer = "container:app.xcodeproj"> | ||||
|                BuildableName = "bluesky.app" | ||||
|                BlueprintName = "bluesky" | ||||
|                ReferencedContainer = "container:bluesky.xcodeproj"> | ||||
|             </BuildableReference> | ||||
|          </BuildActionEntry> | ||||
|       </BuildActionEntries> | ||||
|  | @ -33,9 +33,9 @@ | |||
|             <BuildableReference | ||||
|                BuildableIdentifier = "primary" | ||||
|                BlueprintIdentifier = "00E356ED1AD99517003FC87E" | ||||
|                BuildableName = "appTests.xctest" | ||||
|                BlueprintName = "appTests" | ||||
|                ReferencedContainer = "container:app.xcodeproj"> | ||||
|                BuildableName = "blueskyTests.xctest" | ||||
|                BlueprintName = "blueskyTests" | ||||
|                ReferencedContainer = "container:bluesky.xcodeproj"> | ||||
|             </BuildableReference> | ||||
|          </TestableReference> | ||||
|       </Testables> | ||||
|  | @ -55,9 +55,9 @@ | |||
|          <BuildableReference | ||||
|             BuildableIdentifier = "primary" | ||||
|             BlueprintIdentifier = "13B07F861A680F5B00A75B9A" | ||||
|             BuildableName = "app.app" | ||||
|             BlueprintName = "app" | ||||
|             ReferencedContainer = "container:app.xcodeproj"> | ||||
|             BuildableName = "bluesky.app" | ||||
|             BlueprintName = "bluesky" | ||||
|             ReferencedContainer = "container:bluesky.xcodeproj"> | ||||
|          </BuildableReference> | ||||
|       </BuildableProductRunnable> | ||||
|    </LaunchAction> | ||||
|  | @ -72,9 +72,9 @@ | |||
|          <BuildableReference | ||||
|             BuildableIdentifier = "primary" | ||||
|             BlueprintIdentifier = "13B07F861A680F5B00A75B9A" | ||||
|             BuildableName = "app.app" | ||||
|             BlueprintName = "app" | ||||
|             ReferencedContainer = "container:app.xcodeproj"> | ||||
|             BuildableName = "bluesky.app" | ||||
|             BlueprintName = "bluesky" | ||||
|             ReferencedContainer = "container:bluesky.xcodeproj"> | ||||
|          </BuildableReference> | ||||
|       </BuildableProductRunnable> | ||||
|    </ProfileAction> | ||||
|  | @ -2,7 +2,7 @@ | |||
| <Workspace | ||||
|    version = "1.0"> | ||||
|    <FileRef | ||||
|       location = "group:app.xcodeproj"> | ||||
|       location = "group:bluesky.xcodeproj"> | ||||
|    </FileRef> | ||||
|    <FileRef | ||||
|       location = "group:Pods/Pods.xcodeproj"> | ||||
|  | @ -2,9 +2,7 @@ | |||
| <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> | ||||
| <plist version="1.0"> | ||||
| <dict> | ||||
| 	<key>com.apple.developer.associated-domains</key> | ||||
| 	<array> | ||||
| 		<string>applinks:bsky.app</string> | ||||
| 	</array> | ||||
| 	<key>IDEDidComputeMac32BitWarning</key> | ||||
| 	<true/> | ||||
| </dict> | ||||
| </plist> | ||||
							
								
								
									
										7
									
								
								ios/bluesky/AppDelegate.h
									
										
									
									
									
										Normal file
									
								
							
							
						
						|  | @ -0,0 +1,7 @@ | |||
| #import <RCTAppDelegate.h> | ||||
| #import <UIKit/UIKit.h> | ||||
| #import <Expo/Expo.h> | ||||
| 
 | ||||
| @interface AppDelegate : EXAppDelegateWrapper | ||||
| 
 | ||||
| @end | ||||
							
								
								
									
										72
									
								
								ios/bluesky/AppDelegate.mm
									
										
									
									
									
										Normal file
									
								
							
							
						
						|  | @ -0,0 +1,72 @@ | |||
| #import "AppDelegate.h" | ||||
| 
 | ||||
| #import <React/RCTBundleURLProvider.h> | ||||
| #import <React/RCTLinkingManager.h> | ||||
| 
 | ||||
| #import <TSBackgroundFetch/TSBackgroundFetch.h> | ||||
| 
 | ||||
| @implementation AppDelegate | ||||
| 
 | ||||
| - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions | ||||
| { | ||||
|   self.moduleName = @"main"; | ||||
| 
 | ||||
|   // You can add your custom initial props in the dictionary below. | ||||
|   // They will be passed down to the ViewController used by React Native. | ||||
|   self.initialProps = @{}; | ||||
|    | ||||
|   // Register BackgroundFetch | ||||
|   [[TSBackgroundFetch sharedInstance] didFinishLaunching]; | ||||
| 
 | ||||
|   return [super application:application didFinishLaunchingWithOptions:launchOptions]; | ||||
| } | ||||
| 
 | ||||
| - (NSURL *)sourceURLForBridge:(RCTBridge *)bridge | ||||
| { | ||||
| #if DEBUG | ||||
|   return [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@"index"]; | ||||
| #else | ||||
|   return [[NSBundle mainBundle] URLForResource:@"main" withExtension:@"jsbundle"]; | ||||
| #endif | ||||
| } | ||||
| 
 | ||||
| /// This method controls whether the `concurrentRoot`feature of React18 is turned on or off. | ||||
| /// | ||||
| /// @see: https://reactjs.org/blog/2022/03/29/react-v18.html | ||||
| /// @note: This requires to be rendering on Fabric (i.e. on the New Architecture). | ||||
| /// @return: `true` if the `concurrentRoot` feature is enabled. Otherwise, it returns `false`. | ||||
| - (BOOL)concurrentRootEnabled | ||||
| { | ||||
|   return true; | ||||
| } | ||||
| 
 | ||||
| // Linking API | ||||
| - (BOOL)application:(UIApplication *)application openURL:(NSURL *)url options:(NSDictionary<UIApplicationOpenURLOptionsKey,id> *)options { | ||||
|   return [super application:application openURL:url options:options] || [RCTLinkingManager application:application openURL:url options:options]; | ||||
| } | ||||
| 
 | ||||
| // Universal Links | ||||
| - (BOOL)application:(UIApplication *)application continueUserActivity:(nonnull NSUserActivity *)userActivity restorationHandler:(nonnull void (^)(NSArray<id<UIUserActivityRestoring>> * _Nullable))restorationHandler { | ||||
|   BOOL result = [RCTLinkingManager application:application continueUserActivity:userActivity restorationHandler:restorationHandler]; | ||||
|   return [super application:application continueUserActivity:userActivity restorationHandler:restorationHandler] || result; | ||||
| } | ||||
| 
 | ||||
| // Explicitly define remote notification delegates to ensure compatibility with some third-party libraries | ||||
| - (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken | ||||
| { | ||||
|   return [super application:application didRegisterForRemoteNotificationsWithDeviceToken:deviceToken]; | ||||
| } | ||||
| 
 | ||||
| // Explicitly define remote notification delegates to ensure compatibility with some third-party libraries | ||||
| - (void)application:(UIApplication *)application didFailToRegisterForRemoteNotificationsWithError:(NSError *)error | ||||
| { | ||||
|   return [super application:application didFailToRegisterForRemoteNotificationsWithError:error]; | ||||
| } | ||||
| 
 | ||||
| // Explicitly define remote notification delegates to ensure compatibility with some third-party libraries | ||||
| - (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler | ||||
| { | ||||
|   return [super application:application didReceiveRemoteNotification:userInfo fetchCompletionHandler:completionHandler]; | ||||
| } | ||||
| 
 | ||||
| @end | ||||
| After Width: | Height: | Size: 966 B | 
| After Width: | Height: | Size: 3 KiB | 
| After Width: | Height: | Size: 6 KiB | 
| After Width: | Height: | Size: 1.7 KiB | 
| After Width: | Height: | Size: 5.7 KiB | 
| After Width: | Height: | Size: 11 KiB | 
| After Width: | Height: | Size: 3 KiB | 
| After Width: | Height: | Size: 9.9 KiB | 
| After Width: | Height: | Size: 20 KiB | 
| After Width: | Height: | Size: 20 KiB | 
| After Width: | Height: | Size: 40 KiB | 
| After Width: | Height: | Size: 9 KiB | 
| After Width: | Height: | Size: 30 KiB | 
| After Width: | Height: | Size: 35 KiB | 
							
								
								
									
										122
									
								
								ios/bluesky/Images.xcassets/AppIcon.appiconset/Contents.json
									
										
									
									
									
										Normal file
									
								
							
							
						
						|  | @ -0,0 +1,122 @@ | |||
| { | ||||
|   "images": [ | ||||
|     { | ||||
|       "idiom": "iphone", | ||||
|       "size": "20x20", | ||||
|       "scale": "2x", | ||||
|       "filename": "App-Icon-20x20@2x.png" | ||||
|     }, | ||||
|     { | ||||
|       "idiom": "iphone", | ||||
|       "size": "20x20", | ||||
|       "scale": "3x", | ||||
|       "filename": "App-Icon-20x20@3x.png" | ||||
|     }, | ||||
|     { | ||||
|       "idiom": "iphone", | ||||
|       "size": "29x29", | ||||
|       "scale": "1x", | ||||
|       "filename": "App-Icon-29x29@1x.png" | ||||
|     }, | ||||
|     { | ||||
|       "idiom": "iphone", | ||||
|       "size": "29x29", | ||||
|       "scale": "2x", | ||||
|       "filename": "App-Icon-29x29@2x.png" | ||||
|     }, | ||||
|     { | ||||
|       "idiom": "iphone", | ||||
|       "size": "29x29", | ||||
|       "scale": "3x", | ||||
|       "filename": "App-Icon-29x29@3x.png" | ||||
|     }, | ||||
|     { | ||||
|       "idiom": "iphone", | ||||
|       "size": "40x40", | ||||
|       "scale": "2x", | ||||
|       "filename": "App-Icon-40x40@2x.png" | ||||
|     }, | ||||
|     { | ||||
|       "idiom": "iphone", | ||||
|       "size": "40x40", | ||||
|       "scale": "3x", | ||||
|       "filename": "App-Icon-40x40@3x.png" | ||||
|     }, | ||||
|     { | ||||
|       "idiom": "iphone", | ||||
|       "size": "60x60", | ||||
|       "scale": "2x", | ||||
|       "filename": "App-Icon-60x60@2x.png" | ||||
|     }, | ||||
|     { | ||||
|       "idiom": "iphone", | ||||
|       "size": "60x60", | ||||
|       "scale": "3x", | ||||
|       "filename": "App-Icon-60x60@3x.png" | ||||
|     }, | ||||
|     { | ||||
|       "idiom": "ipad", | ||||
|       "size": "20x20", | ||||
|       "scale": "1x", | ||||
|       "filename": "App-Icon-20x20@1x.png" | ||||
|     }, | ||||
|     { | ||||
|       "idiom": "ipad", | ||||
|       "size": "20x20", | ||||
|       "scale": "2x", | ||||
|       "filename": "App-Icon-20x20@2x.png" | ||||
|     }, | ||||
|     { | ||||
|       "idiom": "ipad", | ||||
|       "size": "29x29", | ||||
|       "scale": "1x", | ||||
|       "filename": "App-Icon-29x29@1x.png" | ||||
|     }, | ||||
|     { | ||||
|       "idiom": "ipad", | ||||
|       "size": "29x29", | ||||
|       "scale": "2x", | ||||
|       "filename": "App-Icon-29x29@2x.png" | ||||
|     }, | ||||
|     { | ||||
|       "idiom": "ipad", | ||||
|       "size": "40x40", | ||||
|       "scale": "1x", | ||||
|       "filename": "App-Icon-40x40@1x.png" | ||||
|     }, | ||||
|     { | ||||
|       "idiom": "ipad", | ||||
|       "size": "40x40", | ||||
|       "scale": "2x", | ||||
|       "filename": "App-Icon-40x40@2x.png" | ||||
|     }, | ||||
|     { | ||||
|       "idiom": "ipad", | ||||
|       "size": "76x76", | ||||
|       "scale": "1x", | ||||
|       "filename": "App-Icon-76x76@1x.png" | ||||
|     }, | ||||
|     { | ||||
|       "idiom": "ipad", | ||||
|       "size": "76x76", | ||||
|       "scale": "2x", | ||||
|       "filename": "App-Icon-76x76@2x.png" | ||||
|     }, | ||||
|     { | ||||
|       "idiom": "ipad", | ||||
|       "size": "83.5x83.5", | ||||
|       "scale": "2x", | ||||
|       "filename": "App-Icon-83.5x83.5@2x.png" | ||||
|     }, | ||||
|     { | ||||
|       "idiom": "ios-marketing", | ||||
|       "size": "1024x1024", | ||||
|       "scale": "1x", | ||||
|       "filename": "ItunesArtwork@2x.png" | ||||
|     } | ||||
|   ], | ||||
|   "info": { | ||||
|     "version": 1, | ||||
|     "author": "expo" | ||||
|   } | ||||
| } | ||||
| After Width: | Height: | Size: 733 KiB | 
							
								
								
									
										6
									
								
								ios/bluesky/Images.xcassets/Contents.json
									
										
									
									
									
										Normal file
									
								
							
							
						
						|  | @ -0,0 +1,6 @@ | |||
| { | ||||
|   "info" : { | ||||
|     "version" : 1, | ||||
|     "author" : "expo" | ||||
|   } | ||||
| } | ||||
							
								
								
									
										21
									
								
								ios/bluesky/Images.xcassets/SplashScreen.imageset/Contents.json
									
										
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						|  | @ -0,0 +1,21 @@ | |||
| { | ||||
|   "images": [ | ||||
|     { | ||||
|       "idiom": "universal", | ||||
|       "filename": "image.png", | ||||
|       "scale": "1x" | ||||
|     }, | ||||
|     { | ||||
|       "idiom": "universal", | ||||
|       "scale": "2x" | ||||
|     }, | ||||
|     { | ||||
|       "idiom": "universal", | ||||
|       "scale": "3x" | ||||
|     } | ||||
|   ], | ||||
|   "info": { | ||||
|     "version": 1, | ||||
|     "author": "expo" | ||||
|   } | ||||
| } | ||||