diff --git a/Example/.gitignore b/Example/.gitignore index 5d647565fa..60ca3dacda 100644 --- a/Example/.gitignore +++ b/Example/.gitignore @@ -54,3 +54,9 @@ buck-out/ # Bundle artifact *.jsbundle + +# CocoaPods +/ios/Pods/ + +# Android cpatures +/android/captures diff --git a/Example/App.js b/Example/App.js index 808f05d17b..1b39e08dc7 100644 --- a/Example/App.js +++ b/Example/App.js @@ -14,16 +14,26 @@ import { import { useScreens } from 'react-native-screens'; import Stack from './stack'; +import NativeStack from './nativeStack'; import Tabs from './tabs'; import Navigation from './navigation'; +import NativeNavigation from './nativeNavigation'; import NavigationTabsAndStack from './navigationTabsAndStack'; useScreens(); const SCREENS = { - Stack: { screen: Stack, title: 'Stack example' }, + Stack: { screen: Stack, title: 'Screen container based stack' }, + NativeStack: { screen: NativeStack, title: 'Native stack example' }, Tabs: { screen: Tabs, title: 'Tabs example' }, - Navigation: { screen: Navigation, title: 'React Navigation example' }, + NativeNavigation: { + screen: NativeNavigation, + title: 'Native stack bindings for RNN', + }, + Navigation: { + screen: Navigation, + title: 'React Navigation with screen enabled', + }, NavigationTabsAndStack: { screen: NavigationTabsAndStack, title: 'React Navigation Tabs + Stack', diff --git a/Example/android/app/build.gradle b/Example/android/app/build.gradle index bd0a7c56d3..f395bc061b 100644 --- a/Example/android/app/build.gradle +++ b/Example/android/app/build.gradle @@ -73,7 +73,8 @@ import com.android.build.OutputFile */ project.ext.react = [ - entryFile: "index.js" + entryFile: "index.js", + enableHermes: true ] apply from: "../../node_modules/react-native/react.gradle" @@ -93,9 +94,35 @@ def enableSeparateBuildPerCPUArchitecture = false */ def enableProguardInReleaseBuilds = false +/** + * The preferred build flavor of JavaScriptCore. + * + * For example, to use the international variant, you can use: + * `def jscFlavor = 'org.webkit:android-jsc-intl:+'` + * + * The international variant includes ICU i18n library and necessary data + * allowing to use e.g. `Date.toLocaleString` and `String.localeCompare` that + * give correct results when using with locales other than en-US. Note that + * this variant is about 6MiB larger per architecture than default. + */ +def jscFlavor = 'org.webkit:android-jsc:+' + +/** + * Whether to enable the Hermes VM. + * + * This should be set on project.ext.react and mirrored here. If it is not set + * on project.ext.react, JavaScript will not be compiled to Hermes Bytecode + * and the benefits of using Hermes will therefore be sharply reduced. + */ +def enableHermes = project.ext.react.get("enableHermes", false); + android { compileSdkVersion rootProject.ext.compileSdkVersion - buildToolsVersion rootProject.ext.buildToolsVersion + + compileOptions { + sourceCompatibility JavaVersion.VERSION_1_8 + targetCompatibility JavaVersion.VERSION_1_8 + } defaultConfig { applicationId "com.swmansion.rnscreens.example" @@ -103,16 +130,12 @@ android { targetSdkVersion rootProject.ext.targetSdkVersion versionCode 1 versionName "1.0" - ndk { - abiFilters "armeabi-v7a", "x86" - } } splits { abi { reset() enable enableSeparateBuildPerCPUArchitecture universalApk false // If true, also generate a universal APK - include "armeabi-v7a", "x86" } } buildTypes { @@ -134,14 +157,27 @@ android { } } } + + packagingOptions { + pickFirst '**/armeabi-v7a/libc++_shared.so' + pickFirst '**/x86/libc++_shared.so' + pickFirst '**/arm64-v8a/libc++_shared.so' + pickFirst '**/x86_64/libc++_shared.so' + pickFirst '**/x86/libjsc.so' + pickFirst '**/armeabi-v7a/libjsc.so' + } } dependencies { - compile project(':react-native-gesture-handler') - compile project(':react-native-screens') - compile fileTree(dir: "libs", include: ["*.jar"]) - compile "com.android.support:appcompat-v7:${rootProject.ext.supportLibVersion}" - compile "com.facebook.react:react-native:+" // From node_modules + implementation project(':react-native-screens') + implementation fileTree(dir: "libs", include: ["*.jar"]) + implementation 'androidx.appcompat:appcompat:1.1.0-rc01' + implementation 'androidx.swiperefreshlayout:swiperefreshlayout:1.1.0-alpha02' + implementation 'com.facebook.react:react-native:+' // From node_modules + + def hermesPath = "../../node_modules/hermesvm/android/"; + debugImplementation files(hermesPath + "hermes-debug.aar") + releaseImplementation files(hermesPath + "hermes-release.aar") } // Run this once to be able to run the application with BUCK @@ -150,3 +186,5 @@ task copyDownloadableDepsToLibs(type: Copy) { from configurations.compile into 'libs' } + +apply from: file("../../node_modules/@react-native-community/cli-platform-android/native_modules.gradle"); applyNativeModulesAppBuildGradle(project) diff --git a/Example/android/app/src/main/AndroidManifest.xml b/Example/android/app/src/main/AndroidManifest.xml index a8cffc0c57..eef050ea2d 100644 --- a/Example/android/app/src/main/AndroidManifest.xml +++ b/Example/android/app/src/main/AndroidManifest.xml @@ -8,6 +8,7 @@ android:name=".MainApplication" android:label="@string/app_name" android:icon="@mipmap/ic_launcher" + android:networkSecurityConfig="@xml/network_security_config" android:allowBackup="false" android:theme="@style/AppTheme"> getPackages() { - return Arrays.asList( - new MainReactPackage(), - new RNGestureHandlerPackage(), - new RNScreensPackage(), - new MyPackage() - ); + @SuppressWarnings("UnnecessaryLocalVariable") + List packages = new PackageList(this).getPackages(); + packages.add(new MyPackage()); + return packages; } @Override diff --git a/Example/android/app/src/main/res/xml/network_security_config.xml b/Example/android/app/src/main/res/xml/network_security_config.xml new file mode 100644 index 0000000000..6489d85644 --- /dev/null +++ b/Example/android/app/src/main/res/xml/network_security_config.xml @@ -0,0 +1,6 @@ + + + + localhost + + \ No newline at end of file diff --git a/Example/android/build.gradle b/Example/android/build.gradle index e0da577225..56c8e1aafa 100644 --- a/Example/android/build.gradle +++ b/Example/android/build.gradle @@ -6,7 +6,7 @@ buildscript { jcenter() } dependencies { - classpath 'com.android.tools.build:gradle:3.1.4' + classpath 'com.android.tools.build:gradle:3.4.2' } } @@ -23,9 +23,8 @@ allprojects { } ext { - buildToolsVersion = "26.0.3" + buildToolsVersion = "29.0.2" minSdkVersion = 16 - compileSdkVersion = 26 - targetSdkVersion = 26 - supportLibVersion = "26.1.0" + compileSdkVersion = 29 + targetSdkVersion = 29 } diff --git a/Example/android/gradle.properties b/Example/android/gradle.properties index 1fd964e90b..d015431a85 100644 --- a/Example/android/gradle.properties +++ b/Example/android/gradle.properties @@ -1,20 +1,2 @@ -# Project-wide Gradle settings. - -# IDE (e.g. Android Studio) users: -# Gradle settings configured through the IDE *will override* -# any settings specified in this file. - -# For more details on how to configure your build environment visit -# http://www.gradle.org/docs/current/userguide/build_environment.html - -# Specifies the JVM arguments used for the daemon process. -# The setting is particularly useful for tweaking memory settings. -# Default value: -Xmx10248m -XX:MaxPermSize=256m -# org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8 - -# When configured, Gradle will run in incubating parallel mode. -# This option should only be used with decoupled projects. More details, visit -# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects -# org.gradle.parallel=true - -android.useDeprecatedNdk=true +android.useAndroidX=true +android.enableJetifier=true \ No newline at end of file diff --git a/Example/android/gradle/wrapper/gradle-wrapper.properties b/Example/android/gradle/wrapper/gradle-wrapper.properties index 1d5b29fbd5..b33419deee 100644 --- a/Example/android/gradle/wrapper/gradle-wrapper.properties +++ b/Example/android/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-4.10.3-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-5.5.1-bin.zip diff --git a/Example/android/settings.gradle b/Example/android/settings.gradle index 9aa1b9c272..bf3932fc3c 100644 --- a/Example/android/settings.gradle +++ b/Example/android/settings.gradle @@ -1,6 +1,7 @@ rootProject.name = 'ScreensExample' -include ':react-native-gesture-handler' -project(':react-native-gesture-handler').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-gesture-handler/android') + +apply from: file("../node_modules/@react-native-community/cli-platform-android/native_modules.gradle"); applyNativeModulesSettingsGradle(settings) + include ':react-native-screens' project(':react-native-screens').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-screens/android') diff --git a/Example/ios/Podfile b/Example/ios/Podfile new file mode 100644 index 0000000000..7663773e7a --- /dev/null +++ b/Example/ios/Podfile @@ -0,0 +1,27 @@ +platform :ios, '9.0' +require_relative '../node_modules/@react-native-community/cli-platform-ios/native_modules' +target 'ScreensExample' do + # Pods for RnDiffApp + pod 'React', :path => '../node_modules/react-native/' + pod 'React-Core', :path => '../node_modules/react-native/React' + pod 'React-DevSupport', :path => '../node_modules/react-native/React' + pod 'React-RCTActionSheet', :path => '../node_modules/react-native/Libraries/ActionSheetIOS' + pod 'React-RCTAnimation', :path => '../node_modules/react-native/Libraries/NativeAnimation' + pod 'React-RCTBlob', :path => '../node_modules/react-native/Libraries/Blob' + pod 'React-RCTImage', :path => '../node_modules/react-native/Libraries/Image' + pod 'React-RCTLinking', :path => '../node_modules/react-native/Libraries/LinkingIOS' + pod 'React-RCTNetwork', :path => '../node_modules/react-native/Libraries/Network' + pod 'React-RCTSettings', :path => '../node_modules/react-native/Libraries/Settings' + pod 'React-RCTText', :path => '../node_modules/react-native/Libraries/Text' + pod 'React-RCTVibration', :path => '../node_modules/react-native/Libraries/Vibration' + pod 'React-RCTWebSocket', :path => '../node_modules/react-native/Libraries/WebSocket' + pod 'React-cxxreact', :path => '../node_modules/react-native/ReactCommon/cxxreact' + pod 'React-jsi', :path => '../node_modules/react-native/ReactCommon/jsi' + pod 'React-jsiexecutor', :path => '../node_modules/react-native/ReactCommon/jsiexecutor' + pod 'React-jsinspector', :path => '../node_modules/react-native/ReactCommon/jsinspector' + pod 'yoga', :path => '../node_modules/react-native/ReactCommon/yoga' + pod 'DoubleConversion', :podspec => '../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec' + pod 'glog', :podspec => '../node_modules/react-native/third-party-podspecs/glog.podspec' + pod 'Folly', :podspec => '../node_modules/react-native/third-party-podspecs/Folly.podspec' + use_native_modules! +end \ No newline at end of file diff --git a/Example/ios/Podfile.lock b/Example/ios/Podfile.lock new file mode 100644 index 0000000000..9fba5182f3 --- /dev/null +++ b/Example/ios/Podfile.lock @@ -0,0 +1,193 @@ +PODS: + - boost-for-react-native (1.63.0) + - DoubleConversion (1.1.6) + - Folly (2018.10.22.00): + - boost-for-react-native + - DoubleConversion + - Folly/Default (= 2018.10.22.00) + - glog + - Folly/Default (2018.10.22.00): + - boost-for-react-native + - DoubleConversion + - glog + - glog (0.3.5) + - React (0.60.5): + - React-Core (= 0.60.5) + - React-DevSupport (= 0.60.5) + - React-RCTActionSheet (= 0.60.5) + - React-RCTAnimation (= 0.60.5) + - React-RCTBlob (= 0.60.5) + - React-RCTImage (= 0.60.5) + - React-RCTLinking (= 0.60.5) + - React-RCTNetwork (= 0.60.5) + - React-RCTSettings (= 0.60.5) + - React-RCTText (= 0.60.5) + - React-RCTVibration (= 0.60.5) + - React-RCTWebSocket (= 0.60.5) + - React-Core (0.60.5): + - Folly (= 2018.10.22.00) + - React-cxxreact (= 0.60.5) + - React-jsiexecutor (= 0.60.5) + - yoga (= 0.60.5.React) + - React-cxxreact (0.60.5): + - boost-for-react-native (= 1.63.0) + - DoubleConversion + - Folly (= 2018.10.22.00) + - glog + - React-jsinspector (= 0.60.5) + - React-DevSupport (0.60.5): + - React-Core (= 0.60.5) + - React-RCTWebSocket (= 0.60.5) + - React-jsi (0.60.5): + - boost-for-react-native (= 1.63.0) + - DoubleConversion + - Folly (= 2018.10.22.00) + - glog + - React-jsi/Default (= 0.60.5) + - React-jsi/Default (0.60.5): + - boost-for-react-native (= 1.63.0) + - DoubleConversion + - Folly (= 2018.10.22.00) + - glog + - React-jsiexecutor (0.60.5): + - DoubleConversion + - Folly (= 2018.10.22.00) + - glog + - React-cxxreact (= 0.60.5) + - React-jsi (= 0.60.5) + - React-jsinspector (0.60.5) + - React-RCTActionSheet (0.60.5): + - React-Core (= 0.60.5) + - React-RCTAnimation (0.60.5): + - React-Core (= 0.60.5) + - React-RCTBlob (0.60.5): + - React-Core (= 0.60.5) + - React-RCTNetwork (= 0.60.5) + - React-RCTWebSocket (= 0.60.5) + - React-RCTImage (0.60.5): + - React-Core (= 0.60.5) + - React-RCTNetwork (= 0.60.5) + - React-RCTLinking (0.60.5): + - React-Core (= 0.60.5) + - React-RCTNetwork (0.60.5): + - React-Core (= 0.60.5) + - React-RCTSettings (0.60.5): + - React-Core (= 0.60.5) + - React-RCTText (0.60.5): + - React-Core (= 0.60.5) + - React-RCTVibration (0.60.5): + - React-Core (= 0.60.5) + - React-RCTWebSocket (0.60.5): + - React-Core (= 0.60.5) + - RNGestureHandler (1.3.0): + - React + - RNScreens (1.0.0-alpha.22): + - React + - yoga (0.60.5.React) + +DEPENDENCIES: + - DoubleConversion (from `../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec`) + - Folly (from `../node_modules/react-native/third-party-podspecs/Folly.podspec`) + - glog (from `../node_modules/react-native/third-party-podspecs/glog.podspec`) + - React (from `../node_modules/react-native/`) + - React-Core (from `../node_modules/react-native/React`) + - React-cxxreact (from `../node_modules/react-native/ReactCommon/cxxreact`) + - React-DevSupport (from `../node_modules/react-native/React`) + - React-jsi (from `../node_modules/react-native/ReactCommon/jsi`) + - React-jsiexecutor (from `../node_modules/react-native/ReactCommon/jsiexecutor`) + - React-jsinspector (from `../node_modules/react-native/ReactCommon/jsinspector`) + - React-RCTActionSheet (from `../node_modules/react-native/Libraries/ActionSheetIOS`) + - React-RCTAnimation (from `../node_modules/react-native/Libraries/NativeAnimation`) + - React-RCTBlob (from `../node_modules/react-native/Libraries/Blob`) + - React-RCTImage (from `../node_modules/react-native/Libraries/Image`) + - React-RCTLinking (from `../node_modules/react-native/Libraries/LinkingIOS`) + - React-RCTNetwork (from `../node_modules/react-native/Libraries/Network`) + - React-RCTSettings (from `../node_modules/react-native/Libraries/Settings`) + - React-RCTText (from `../node_modules/react-native/Libraries/Text`) + - React-RCTVibration (from `../node_modules/react-native/Libraries/Vibration`) + - React-RCTWebSocket (from `../node_modules/react-native/Libraries/WebSocket`) + - RNGestureHandler (from `../node_modules/react-native-gesture-handler`) + - RNScreens (from `../node_modules/react-native-screens`) + - yoga (from `../node_modules/react-native/ReactCommon/yoga`) + +SPEC REPOS: + https://github.com/cocoapods/specs.git: + - boost-for-react-native + +EXTERNAL SOURCES: + DoubleConversion: + :podspec: "../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec" + Folly: + :podspec: "../node_modules/react-native/third-party-podspecs/Folly.podspec" + glog: + :podspec: "../node_modules/react-native/third-party-podspecs/glog.podspec" + React: + :path: "../node_modules/react-native/" + React-Core: + :path: "../node_modules/react-native/React" + React-cxxreact: + :path: "../node_modules/react-native/ReactCommon/cxxreact" + React-DevSupport: + :path: "../node_modules/react-native/React" + React-jsi: + :path: "../node_modules/react-native/ReactCommon/jsi" + React-jsiexecutor: + :path: "../node_modules/react-native/ReactCommon/jsiexecutor" + React-jsinspector: + :path: "../node_modules/react-native/ReactCommon/jsinspector" + React-RCTActionSheet: + :path: "../node_modules/react-native/Libraries/ActionSheetIOS" + React-RCTAnimation: + :path: "../node_modules/react-native/Libraries/NativeAnimation" + React-RCTBlob: + :path: "../node_modules/react-native/Libraries/Blob" + React-RCTImage: + :path: "../node_modules/react-native/Libraries/Image" + React-RCTLinking: + :path: "../node_modules/react-native/Libraries/LinkingIOS" + React-RCTNetwork: + :path: "../node_modules/react-native/Libraries/Network" + React-RCTSettings: + :path: "../node_modules/react-native/Libraries/Settings" + React-RCTText: + :path: "../node_modules/react-native/Libraries/Text" + React-RCTVibration: + :path: "../node_modules/react-native/Libraries/Vibration" + React-RCTWebSocket: + :path: "../node_modules/react-native/Libraries/WebSocket" + RNGestureHandler: + :path: "../node_modules/react-native-gesture-handler" + RNScreens: + :path: "../node_modules/react-native-screens" + yoga: + :path: "../node_modules/react-native/ReactCommon/yoga" + +SPEC CHECKSUMS: + boost-for-react-native: 39c7adb57c4e60d6c5479dd8623128eb5b3f0f2c + DoubleConversion: 5805e889d232975c086db112ece9ed034df7a0b2 + Folly: 30e7936e1c45c08d884aa59369ed951a8e68cf51 + glog: 1f3da668190260b06b429bb211bfbee5cd790c28 + React: 53c53c4d99097af47cf60594b8706b4e3321e722 + React-Core: ba421f6b4f4cbe2fb17c0b6fc675f87622e78a64 + React-cxxreact: 8384287780c4999351ad9b6e7a149d9ed10a2395 + React-DevSupport: 197fb409737cff2c4f9986e77c220d7452cb9f9f + React-jsi: 4d8c9efb6312a9725b18d6fc818ffc103f60fec2 + React-jsiexecutor: 90ad2f9db09513fc763bc757fdc3c4ff8bde2a30 + React-jsinspector: e08662d1bf5b129a3d556eb9ea343a3f40353ae4 + React-RCTActionSheet: b0f1ea83f4bf75fb966eae9bfc47b78c8d3efd90 + React-RCTAnimation: 359ba1b5690b1e87cc173558a78e82d35919333e + React-RCTBlob: 5e2b55f76e9a1c7ae52b826923502ddc3238df24 + React-RCTImage: f5f1c50922164e89bdda67bcd0153952a5cfe719 + React-RCTLinking: d0ecbd791e9ddddc41fa1f66b0255de90e8ee1e9 + React-RCTNetwork: e26946300b0ab7bb6c4a6348090e93fa21f33a9d + React-RCTSettings: d0d37cb521b7470c998595a44f05847777cc3f42 + React-RCTText: b074d89033583d4f2eb5faf7ea2db3a13c7553a2 + React-RCTVibration: 2105b2e0e2b66a6408fc69a46c8a7fb5b2fdade0 + React-RCTWebSocket: cd932a16b7214898b6b7f788c8bddb3637246ac4 + RNGestureHandler: 5329a942fce3d41c68b84c2c2276ce06a696d8b0 + RNScreens: 720a9e6968beb73e8196239801e887d8401f86ed + yoga: 312528f5bbbba37b4dcea5ef00e8b4033fdd9411 + +PODFILE CHECKSUM: dda12850f41a6af688192ceed9b857af4868e401 + +COCOAPODS: 1.7.3 diff --git a/Example/ios/ScreensExample.xcodeproj/project.pbxproj b/Example/ios/ScreensExample.xcodeproj/project.pbxproj index 32343f69cc..f3aec24c47 100644 --- a/Example/ios/ScreensExample.xcodeproj/project.pbxproj +++ b/Example/ios/ScreensExample.xcodeproj/project.pbxproj @@ -7,25 +7,12 @@ objects = { /* Begin PBXBuildFile section */ - 00C302E51ABCBA2D00DB3ED1 /* libRCTActionSheet.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 00C302AC1ABCB8CE00DB3ED1 /* libRCTActionSheet.a */; }; - 00C302E71ABCBA2D00DB3ED1 /* libRCTGeolocation.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 00C302BA1ABCB90400DB3ED1 /* libRCTGeolocation.a */; }; - 00C302E81ABCBA2D00DB3ED1 /* libRCTImage.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 00C302C01ABCB91800DB3ED1 /* libRCTImage.a */; }; - 00C302E91ABCBA2D00DB3ED1 /* libRCTNetwork.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 00C302DC1ABCB9D200DB3ED1 /* libRCTNetwork.a */; }; - 00C302EA1ABCBA2D00DB3ED1 /* libRCTVibration.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 00C302E41ABCB9EE00DB3ED1 /* libRCTVibration.a */; }; - 07750F5642A0469C9883AD8D /* libRNScreens.a in Frameworks */ = {isa = PBXBuildFile; fileRef = F3FDCDBCE689422994B6A1EE /* libRNScreens.a */; }; - 133E29F31AD74F7200F7D852 /* libRCTLinking.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 78C398B91ACF4ADC00677621 /* libRCTLinking.a */; }; - 139105C61AF99C1200B5F7CC /* libRCTSettings.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 139105C11AF99BAD00B5F7CC /* libRCTSettings.a */; }; - 139FDEF61B0652A700C62182 /* libRCTWebSocket.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 139FDEF41B06529B00C62182 /* libRCTWebSocket.a */; }; 13B07FBC1A68108700A75B9A /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB01A68108700A75B9A /* AppDelegate.m */; }; 13B07FBD1A68108700A75B9A /* LaunchScreen.xib in Resources */ = {isa = PBXBuildFile; fileRef = 13B07FB11A68108700A75B9A /* LaunchScreen.xib */; }; 13B07FBF1A68108700A75B9A /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 13B07FB51A68108700A75B9A /* Images.xcassets */; }; 13B07FC11A68108700A75B9A /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB71A68108700A75B9A /* main.m */; }; - 146834051AC3E58100842450 /* libReact.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 146834041AC3E56700842450 /* libReact.a */; }; + 3DF641D7EF0CF58C677CD274 /* libPods-ScreensExample.a in Frameworks */ = {isa = PBXBuildFile; fileRef = EC21D5898029BA5732221EC7 /* libPods-ScreensExample.a */; }; 44BCAFE3213FB64300CF39F1 /* RNSSampleLifecycleAwareView.m in Sources */ = {isa = PBXBuildFile; fileRef = 44BCAFBC213FB64200CF39F1 /* RNSSampleLifecycleAwareView.m */; }; - 5E9157361DD0AC6A00FF2AA8 /* libRCTAnimation.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 5E9157331DD0AC6500FF2AA8 /* libRCTAnimation.a */; }; - 77ABC0AF56DD414DAB943E0B /* libRNGestureHandler.a in Frameworks */ = {isa = PBXBuildFile; fileRef = F925F08AD9974204A8E18709 /* libRNGestureHandler.a */; }; - 832341BD1AAA6AB300B99B32 /* libRCTText.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 832341B51AAA6A8300B99B32 /* libRCTText.a */; }; - ADBDB9381DFEBF1600ED6528 /* libRCTBlob.a in Frameworks */ = {isa = PBXBuildFile; fileRef = ADBDB9271DFEBF0700ED6528 /* libRCTBlob.a */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -92,20 +79,6 @@ remoteGlobalIDString = ADD01A681E09402E00F6D226; remoteInfo = "RCTBlob-tvOS"; }; - 2D16E6831FA4F8DC00B85C8A /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 139FDEE61B06529A00C62182 /* RCTWebSocket.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 3DBE0D001F3B181A0099AA32; - remoteInfo = fishhook; - }; - 2D16E6851FA4F8DC00B85C8A /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 139FDEE61B06529A00C62182 /* RCTWebSocket.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 3DBE0D0D1F3B181C0099AA32; - remoteInfo = "fishhook-tvOS"; - }; 2DF0FFDE2056DD460020B375 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */; @@ -148,20 +121,6 @@ remoteGlobalIDString = 3D383D621EBD27B9005632C8; remoteInfo = "double-conversion-tvOS"; }; - 2DF0FFEA2056DD460020B375 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 9936F3131F5F2E4B0010BF04; - remoteInfo = privatedata; - }; - 2DF0FFEC2056DD460020B375 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 9936F32F1F5F2E5B0010BF04; - remoteInfo = "privatedata-tvOS"; - }; 3DAD3E831DF850E9000B6D8A /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = 00C302BB1ABCB91800DB3ED1 /* RCTImage.xcodeproj */; @@ -239,33 +198,33 @@ remoteGlobalIDString = 3D3CD9321DE5FBEE00167DC4; remoteInfo = "cxxreact-tvOS"; }; - 3DAD3EAC1DF850E9000B6D8A /* PBXContainerItemProxy */ = { + 44461E5D230FEE4700570C98 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */; proxyType = 2; - remoteGlobalIDString = 3D3CD90B1DE5FBD600167DC4; - remoteInfo = jschelpers; + remoteGlobalIDString = EDEBC6D6214B3E7000DD5AC8; + remoteInfo = jsi; }; - 3DAD3EAE1DF850E9000B6D8A /* PBXContainerItemProxy */ = { + 44461E5F230FEE4700570C98 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */; proxyType = 2; - remoteGlobalIDString = 3D3CD9181DE5FBD800167DC4; - remoteInfo = "jschelpers-tvOS"; + remoteGlobalIDString = EDEBC73B214B45A300DD5AC8; + remoteInfo = jsiexecutor; }; - 44C423ED21C131FD00649BF0 /* PBXContainerItemProxy */ = { + 44461E61230FEE4700570C98 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = 3607E48A55664C85AE714A7F /* RNGestureHandler.xcodeproj */; + containerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */; proxyType = 2; - remoteGlobalIDString = 134814201AA4EA6300B7C361; - remoteInfo = RNGestureHandler; + remoteGlobalIDString = ED296FB6214C9A0900B7C4FE; + remoteInfo = "jsi-tvOS"; }; - 44EE371F2114711800CFFB90 /* PBXContainerItemProxy */ = { + 44461E63230FEE4700570C98 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = 67AE6A76A20748599699123B /* RNScreens.xcodeproj */; + containerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */; proxyType = 2; - remoteGlobalIDString = 134814201AA4EA6300B7C361; - remoteInfo = RNScreens; + remoteGlobalIDString = ED296FEE214C9CF800B7C4FE; + remoteInfo = "jsiexecutor-tvOS"; }; 5E9157321DD0AC6500FF2AA8 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; @@ -324,15 +283,14 @@ 13B07FB71A68108700A75B9A /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = main.m; path = ScreensExample/main.m; sourceTree = ""; }; 146833FF1AC3E56700842450 /* React.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = React.xcodeproj; path = "../node_modules/react-native/React/React.xcodeproj"; sourceTree = ""; }; 2D16E6891FA4F8E400B85C8A /* libReact.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; path = libReact.a; sourceTree = BUILT_PRODUCTS_DIR; }; - 3607E48A55664C85AE714A7F /* RNGestureHandler.xcodeproj */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = "wrapper.pb-project"; name = RNGestureHandler.xcodeproj; path = "../node_modules/react-native-gesture-handler/ios/RNGestureHandler.xcodeproj"; sourceTree = ""; }; 44BCAFBC213FB64200CF39F1 /* RNSSampleLifecycleAwareView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = RNSSampleLifecycleAwareView.m; path = ScreensExample/RNSSampleLifecycleAwareView.m; sourceTree = ""; }; 5E91572D1DD0AC6500FF2AA8 /* RCTAnimation.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTAnimation.xcodeproj; path = "../node_modules/react-native/Libraries/NativeAnimation/RCTAnimation.xcodeproj"; sourceTree = ""; }; - 67AE6A76A20748599699123B /* RNScreens.xcodeproj */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = "wrapper.pb-project"; name = RNScreens.xcodeproj; path = "../node_modules/react-native-screens/ios/RNScreens.xcodeproj"; sourceTree = ""; }; 78C398B01ACF4ADC00677621 /* RCTLinking.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTLinking.xcodeproj; path = "../node_modules/react-native/Libraries/LinkingIOS/RCTLinking.xcodeproj"; sourceTree = ""; }; 832341B01AAA6A8300B99B32 /* RCTText.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTText.xcodeproj; path = "../node_modules/react-native/Libraries/Text/RCTText.xcodeproj"; sourceTree = ""; }; + 8E2AA8F11B8C93DBCB5D2D3B /* Pods-ScreensExample.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-ScreensExample.debug.xcconfig"; path = "Target Support Files/Pods-ScreensExample/Pods-ScreensExample.debug.xcconfig"; sourceTree = ""; }; ADBDB91F1DFEBF0600ED6528 /* RCTBlob.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTBlob.xcodeproj; path = "../node_modules/react-native/Libraries/Blob/RCTBlob.xcodeproj"; sourceTree = ""; }; - F3FDCDBCE689422994B6A1EE /* libRNScreens.a */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = archive.ar; path = libRNScreens.a; sourceTree = ""; }; - F925F08AD9974204A8E18709 /* libRNGestureHandler.a */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = archive.ar; path = libRNGestureHandler.a; sourceTree = ""; }; + EC21D5898029BA5732221EC7 /* libPods-ScreensExample.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-ScreensExample.a"; sourceTree = BUILT_PRODUCTS_DIR; }; + F4F2B14C46961C8C58D25AAF /* Pods-ScreensExample.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-ScreensExample.release.xcconfig"; path = "Target Support Files/Pods-ScreensExample/Pods-ScreensExample.release.xcconfig"; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -340,21 +298,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - ADBDB9381DFEBF1600ED6528 /* libRCTBlob.a in Frameworks */, - 5E9157361DD0AC6A00FF2AA8 /* libRCTAnimation.a in Frameworks */, - 146834051AC3E58100842450 /* libReact.a in Frameworks */, - 5E9157361DD0AC6A00FF2AA8 /* libRCTAnimation.a in Frameworks */, - 00C302E51ABCBA2D00DB3ED1 /* libRCTActionSheet.a in Frameworks */, - 00C302E71ABCBA2D00DB3ED1 /* libRCTGeolocation.a in Frameworks */, - 00C302E81ABCBA2D00DB3ED1 /* libRCTImage.a in Frameworks */, - 133E29F31AD74F7200F7D852 /* libRCTLinking.a in Frameworks */, - 00C302E91ABCBA2D00DB3ED1 /* libRCTNetwork.a in Frameworks */, - 139105C61AF99C1200B5F7CC /* libRCTSettings.a in Frameworks */, - 832341BD1AAA6AB300B99B32 /* libRCTText.a in Frameworks */, - 00C302EA1ABCBA2D00DB3ED1 /* libRCTVibration.a in Frameworks */, - 139FDEF61B0652A700C62182 /* libRCTWebSocket.a in Frameworks */, - 07750F5642A0469C9883AD8D /* libRNScreens.a in Frameworks */, - 77ABC0AF56DD414DAB943E0B /* libRNGestureHandler.a in Frameworks */, + 3DF641D7EF0CF58C677CD274 /* libPods-ScreensExample.a in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -434,8 +378,6 @@ children = ( 139FDEF41B06529B00C62182 /* libRCTWebSocket.a */, 3DAD3E991DF850E9000B6D8A /* libRCTWebSocket-tvOS.a */, - 2D16E6841FA4F8DC00B85C8A /* libfishhook.a */, - 2D16E6861FA4F8DC00B85C8A /* libfishhook-tvOS.a */, ); name = Products; sourceTree = ""; @@ -464,16 +406,16 @@ 3DAD3EA71DF850E9000B6D8A /* libyoga.a */, 3DAD3EA91DF850E9000B6D8A /* libcxxreact.a */, 3DAD3EAB1DF850E9000B6D8A /* libcxxreact.a */, - 3DAD3EAD1DF850E9000B6D8A /* libjschelpers.a */, - 3DAD3EAF1DF850E9000B6D8A /* libjschelpers.a */, 2DF0FFDF2056DD460020B375 /* libjsinspector.a */, 2DF0FFE12056DD460020B375 /* libjsinspector-tvOS.a */, 2DF0FFE32056DD460020B375 /* libthird-party.a */, 2DF0FFE52056DD460020B375 /* libthird-party.a */, 2DF0FFE72056DD460020B375 /* libdouble-conversion.a */, 2DF0FFE92056DD460020B375 /* libdouble-conversion.a */, - 2DF0FFEB2056DD460020B375 /* libprivatedata.a */, - 2DF0FFED2056DD460020B375 /* libprivatedata-tvOS.a */, + 44461E5E230FEE4700570C98 /* libjsi.a */, + 44461E60230FEE4700570C98 /* libjsiexecutor.a */, + 44461E62230FEE4700570C98 /* libjsi-tvOS.a */, + 44461E64230FEE4700570C98 /* libjsiexecutor-tvOS.a */, ); name = Products; sourceTree = ""; @@ -482,35 +424,18 @@ isa = PBXGroup; children = ( 2D16E6891FA4F8E400B85C8A /* libReact.a */, + EC21D5898029BA5732221EC7 /* libPods-ScreensExample.a */, ); name = Frameworks; sourceTree = ""; }; - 44C423EA21C131FD00649BF0 /* Products */ = { - isa = PBXGroup; - children = ( - 44C423EE21C131FD00649BF0 /* libRNGestureHandler.a */, - ); - name = Products; - sourceTree = ""; - }; 44EE36F62114711800CFFB90 /* Recovered References */ = { isa = PBXGroup; children = ( - F3FDCDBCE689422994B6A1EE /* libRNScreens.a */, - F925F08AD9974204A8E18709 /* libRNGestureHandler.a */, ); name = "Recovered References"; sourceTree = ""; }; - 44EE36F72114711800CFFB90 /* Products */ = { - isa = PBXGroup; - children = ( - 44EE37202114711800CFFB90 /* libRNScreens.a */, - ); - name = Products; - sourceTree = ""; - }; 5E91572E1DD0AC6500FF2AA8 /* Products */ = { isa = PBXGroup; children = ( @@ -544,8 +469,6 @@ 832341B01AAA6A8300B99B32 /* RCTText.xcodeproj */, 00C302DF1ABCB9EE00DB3ED1 /* RCTVibration.xcodeproj */, 139FDEE61B06529A00C62182 /* RCTWebSocket.xcodeproj */, - 67AE6A76A20748599699123B /* RNScreens.xcodeproj */, - 3607E48A55664C85AE714A7F /* RNGestureHandler.xcodeproj */, ); name = Libraries; sourceTree = ""; @@ -568,6 +491,7 @@ 83CBBA001A601CBA00E9B192 /* Products */, 2D16E6871FA4F8E400B85C8A /* Frameworks */, 44EE36F62114711800CFFB90 /* Recovered References */, + C619D43D8D751DD2D2582733 /* Pods */, ); indentWidth = 2; sourceTree = ""; @@ -591,6 +515,15 @@ name = Products; sourceTree = ""; }; + C619D43D8D751DD2D2582733 /* Pods */ = { + isa = PBXGroup; + children = ( + 8E2AA8F11B8C93DBCB5D2D3B /* Pods-ScreensExample.debug.xcconfig */, + F4F2B14C46961C8C58D25AAF /* Pods-ScreensExample.release.xcconfig */, + ); + path = Pods; + sourceTree = ""; + }; /* End PBXGroup section */ /* Begin PBXNativeTarget section */ @@ -598,6 +531,7 @@ isa = PBXNativeTarget; buildConfigurationList = 13B07F931A680F5B00A75B9A /* Build configuration list for PBXNativeTarget "ScreensExample" */; buildPhases = ( + C7F82C0AD69520E951A990D2 /* [CP] Check Pods Manifest.lock */, 13B07F871A680F5B00A75B9A /* Sources */, 13B07F8C1A680F5B00A75B9A /* Frameworks */, 13B07F8E1A680F5B00A75B9A /* Resources */, @@ -631,6 +565,7 @@ developmentRegion = English; hasScannedForEncodings = 0; knownRegions = ( + English, en, Base, ); @@ -686,14 +621,6 @@ ProductGroup = 146834001AC3E56700842450 /* Products */; ProjectRef = 146833FF1AC3E56700842450 /* React.xcodeproj */; }, - { - ProductGroup = 44C423EA21C131FD00649BF0 /* Products */; - ProjectRef = 3607E48A55664C85AE714A7F /* RNGestureHandler.xcodeproj */; - }, - { - ProductGroup = 44EE36F72114711800CFFB90 /* Products */; - ProjectRef = 67AE6A76A20748599699123B /* RNScreens.xcodeproj */; - }, ); projectRoot = ""; targets = ( @@ -766,20 +693,6 @@ remoteRef = 2D16E6711FA4F8DC00B85C8A /* PBXContainerItemProxy */; sourceTree = BUILT_PRODUCTS_DIR; }; - 2D16E6841FA4F8DC00B85C8A /* libfishhook.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = libfishhook.a; - remoteRef = 2D16E6831FA4F8DC00B85C8A /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 2D16E6861FA4F8DC00B85C8A /* libfishhook-tvOS.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = "libfishhook-tvOS.a"; - remoteRef = 2D16E6851FA4F8DC00B85C8A /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; 2DF0FFDF2056DD460020B375 /* libjsinspector.a */ = { isa = PBXReferenceProxy; fileType = archive.ar; @@ -822,20 +735,6 @@ remoteRef = 2DF0FFE82056DD460020B375 /* PBXContainerItemProxy */; sourceTree = BUILT_PRODUCTS_DIR; }; - 2DF0FFEB2056DD460020B375 /* libprivatedata.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = libprivatedata.a; - remoteRef = 2DF0FFEA2056DD460020B375 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 2DF0FFED2056DD460020B375 /* libprivatedata-tvOS.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = "libprivatedata-tvOS.a"; - remoteRef = 2DF0FFEC2056DD460020B375 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; 3DAD3E841DF850E9000B6D8A /* libRCTImage-tvOS.a */ = { isa = PBXReferenceProxy; fileType = archive.ar; @@ -913,32 +812,32 @@ remoteRef = 3DAD3EAA1DF850E9000B6D8A /* PBXContainerItemProxy */; sourceTree = BUILT_PRODUCTS_DIR; }; - 3DAD3EAD1DF850E9000B6D8A /* libjschelpers.a */ = { + 44461E5E230FEE4700570C98 /* libjsi.a */ = { isa = PBXReferenceProxy; fileType = archive.ar; - path = libjschelpers.a; - remoteRef = 3DAD3EAC1DF850E9000B6D8A /* PBXContainerItemProxy */; + path = libjsi.a; + remoteRef = 44461E5D230FEE4700570C98 /* PBXContainerItemProxy */; sourceTree = BUILT_PRODUCTS_DIR; }; - 3DAD3EAF1DF850E9000B6D8A /* libjschelpers.a */ = { + 44461E60230FEE4700570C98 /* libjsiexecutor.a */ = { isa = PBXReferenceProxy; fileType = archive.ar; - path = libjschelpers.a; - remoteRef = 3DAD3EAE1DF850E9000B6D8A /* PBXContainerItemProxy */; + path = libjsiexecutor.a; + remoteRef = 44461E5F230FEE4700570C98 /* PBXContainerItemProxy */; sourceTree = BUILT_PRODUCTS_DIR; }; - 44C423EE21C131FD00649BF0 /* libRNGestureHandler.a */ = { + 44461E62230FEE4700570C98 /* libjsi-tvOS.a */ = { isa = PBXReferenceProxy; fileType = archive.ar; - path = libRNGestureHandler.a; - remoteRef = 44C423ED21C131FD00649BF0 /* PBXContainerItemProxy */; + path = "libjsi-tvOS.a"; + remoteRef = 44461E61230FEE4700570C98 /* PBXContainerItemProxy */; sourceTree = BUILT_PRODUCTS_DIR; }; - 44EE37202114711800CFFB90 /* libRNScreens.a */ = { + 44461E64230FEE4700570C98 /* libjsiexecutor-tvOS.a */ = { isa = PBXReferenceProxy; fileType = archive.ar; - path = libRNScreens.a; - remoteRef = 44EE371F2114711800CFFB90 /* PBXContainerItemProxy */; + path = "libjsiexecutor-tvOS.a"; + remoteRef = 44461E63230FEE4700570C98 /* PBXContainerItemProxy */; sourceTree = BUILT_PRODUCTS_DIR; }; 5E9157331DD0AC6500FF2AA8 /* libRCTAnimation.a */ = { @@ -1005,6 +904,28 @@ shellPath = /bin/sh; shellScript = "export NODE_BINARY=node\n../node_modules/react-native/scripts/react-native-xcode.sh"; }; + C7F82C0AD69520E951A990D2 /* [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-ScreensExample-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; + }; /* End PBXShellScriptBuildPhase section */ /* Begin PBXSourcesBuildPhase section */ @@ -1035,6 +956,7 @@ /* Begin XCBuildConfiguration section */ 13B07F941A680F5B00A75B9A /* Debug */ = { isa = XCBuildConfiguration; + baseConfigurationReference = 8E2AA8F11B8C93DBCB5D2D3B /* Pods-ScreensExample.debug.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CURRENT_PROJECT_VERSION = 1; @@ -1043,14 +965,10 @@ HEADER_SEARCH_PATHS = ( "$(inherited)", "$(SRCROOT)/../node_modules/react-native-screens/ios/**", - "$(SRCROOT)/../node_modules/react-native-gesture-handler/ios/**", ); INFOPLIST_FILE = ScreensExample/Info.plist; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; - LIBRARY_SEARCH_PATHS = ( - "$(inherited)", - "\"$(SRCROOT)/ScreensExample\"", - ); + LIBRARY_SEARCH_PATHS = "$(inherited)"; OTHER_LDFLAGS = ( "$(inherited)", "-ObjC", @@ -1063,6 +981,7 @@ }; 13B07F951A680F5B00A75B9A /* Release */ = { isa = XCBuildConfiguration; + baseConfigurationReference = F4F2B14C46961C8C58D25AAF /* Pods-ScreensExample.release.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CURRENT_PROJECT_VERSION = 1; @@ -1070,14 +989,10 @@ HEADER_SEARCH_PATHS = ( "$(inherited)", "$(SRCROOT)/../node_modules/react-native-screens/ios/**", - "$(SRCROOT)/../node_modules/react-native-gesture-handler/ios/**", ); INFOPLIST_FILE = ScreensExample/Info.plist; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; - LIBRARY_SEARCH_PATHS = ( - "$(inherited)", - "\"$(SRCROOT)/ScreensExample\"", - ); + LIBRARY_SEARCH_PATHS = "$(inherited)"; OTHER_LDFLAGS = ( "$(inherited)", "-ObjC", diff --git a/Example/ios/ScreensExample.xcworkspace/contents.xcworkspacedata b/Example/ios/ScreensExample.xcworkspace/contents.xcworkspacedata new file mode 100644 index 0000000000..a9d4ec238f --- /dev/null +++ b/Example/ios/ScreensExample.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,10 @@ + + + + + + + diff --git a/Example/ios/ScreensExample.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/Example/ios/ScreensExample.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 0000000000..18d981003d --- /dev/null +++ b/Example/ios/ScreensExample.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/Example/ios/ScreensExample/AppDelegate.h b/Example/ios/ScreensExample/AppDelegate.h index d4f2580b1e..41a9520e28 100644 --- a/Example/ios/ScreensExample/AppDelegate.h +++ b/Example/ios/ScreensExample/AppDelegate.h @@ -5,9 +5,10 @@ * LICENSE file in the root directory of this source tree. */ +#import #import -@interface AppDelegate : UIResponder +@interface AppDelegate : UIResponder @property (nonatomic, strong) UIWindow *window; diff --git a/Example/ios/ScreensExample/AppDelegate.m b/Example/ios/ScreensExample/AppDelegate.m index 7ab639b914..d3adaaed66 100644 --- a/Example/ios/ScreensExample/AppDelegate.m +++ b/Example/ios/ScreensExample/AppDelegate.m @@ -14,14 +14,10 @@ @implementation AppDelegate - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { - NSURL *jsCodeLocation; - - jsCodeLocation = [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@"index" fallbackResource:nil]; - - RCTRootView *rootView = [[RCTRootView alloc] initWithBundleURL:jsCodeLocation - moduleName:@"ScreensExample" - initialProperties:nil - launchOptions:launchOptions]; + RCTBridge *bridge = [[RCTBridge alloc] initWithDelegate:self launchOptions:launchOptions]; + RCTRootView *rootView = [[RCTRootView alloc] initWithBridge:bridge + moduleName:@"ScreensExample" + initialProperties:nil]; rootView.backgroundColor = [[UIColor alloc] initWithRed:1.0f green:1.0f blue:1.0f alpha:1]; self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds]; @@ -32,4 +28,14 @@ - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:( return YES; } + +- (NSURL *)sourceURLForBridge:(RCTBridge *)bridge +{ +#if DEBUG + return [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@"index" fallbackResource:nil]; +#else + return [[NSBundle mainBundle] URLForResource:@"main" withExtension:@"jsbundle"]; +#endif +} + @end diff --git a/Example/metro.config.js b/Example/metro.config.js new file mode 100644 index 0000000000..94d5eeefc7 --- /dev/null +++ b/Example/metro.config.js @@ -0,0 +1,16 @@ +/** + * Metro configuration for React Native + * https://github.com/facebook/react-native + * + * @format + */ +module.exports = { + transformer: { + getTransformOptions: async () => ({ + transform: { + experimentalImportSupport: false, + inlineRequires: false, + }, + }), + }, +}; diff --git a/Example/nativeNavigation.js b/Example/nativeNavigation.js new file mode 100644 index 0000000000..a34860a0d3 --- /dev/null +++ b/Example/nativeNavigation.js @@ -0,0 +1,144 @@ +import React from 'react'; +import { TextInput, StyleSheet, Button, View, ScrollView } from 'react-native'; +import { createAppContainer } from 'react-navigation'; +import createNativeStackNavigator from 'react-native-screens/createNativeStackNavigator'; + +class SomeScreen extends React.Component { + render() { + return ( + +