diff --git a/HelloWorld/.flowconfig b/HelloWorld/.flowconfig index 74f3a75e..3782e447 100644 --- a/HelloWorld/.flowconfig +++ b/HelloWorld/.flowconfig @@ -63,4 +63,4 @@ untyped-import untyped-type-import [version] -^0.176.3 +^0.182.0 diff --git a/HelloWorld/.gitignore b/HelloWorld/.gitignore index 344481b2..6f0aeb93 100644 --- a/HelloWorld/.gitignore +++ b/HelloWorld/.gitignore @@ -30,7 +30,7 @@ build/ local.properties *.iml *.hprof - +.cxx/ # node.js # node_modules/ diff --git a/HelloWorld/.node-version b/HelloWorld/.node-version new file mode 100644 index 00000000..19c7bdba --- /dev/null +++ b/HelloWorld/.node-version @@ -0,0 +1 @@ +16 \ No newline at end of file diff --git a/HelloWorld/android/app/build.gradle b/HelloWorld/android/app/build.gradle index 3081a1f2..608db2ce 100644 --- a/HelloWorld/android/app/build.gradle +++ b/HelloWorld/android/app/build.gradle @@ -1,6 +1,6 @@ apply plugin: "com.android.application" - import com.android.build.OutputFile +import org.apache.tools.ant.taskdefs.condition.Os /** * The react.gradle file registers a task for each build variant (e.g. bundleDebugJsAndAssets @@ -78,7 +78,7 @@ import com.android.build.OutputFile */ project.ext.react = [ - enableHermes: false, // clean and rebuild if changing + enableHermes: true, // clean and rebuild if changing ] apply from: "../../node_modules/react-native/react.gradle" @@ -142,22 +142,14 @@ android { buildConfigField "boolean", "IS_NEW_ARCHITECTURE_ENABLED", isNewArchitectureEnabled().toString() if (isNewArchitectureEnabled()) { - // We configure the NDK build only if you decide to opt-in for the New Architecture. + // We configure the CMake build only if you decide to opt-in for the New Architecture. externalNativeBuild { - ndkBuild { - arguments "APP_PLATFORM=android-21", - "APP_STL=c++_shared", - "NDK_TOOLCHAIN_VERSION=clang", - "GENERATED_SRC_DIR=$buildDir/generated/source", - "PROJECT_BUILD_DIR=$buildDir", - "REACT_ANDROID_DIR=$rootDir/../node_modules/react-native/ReactAndroid", - "REACT_ANDROID_BUILD_DIR=$rootDir/../node_modules/react-native/ReactAndroid/build", - "NODE_MODULES_DIR=$rootDir/../node_modules" - cFlags "-Wall", "-Werror", "-fexceptions", "-frtti", "-DWITH_INSPECTOR=1" - cppFlags "-std=c++17" - // Make sure this target name is the same you specify inside the - // src/main/jni/Android.mk file for the `LOCAL_MODULE` variable. - targets "helloworld_appmodules" + cmake { + arguments "-DPROJECT_BUILD_DIR=$buildDir", + "-DREACT_ANDROID_DIR=$rootDir/../node_modules/react-native/ReactAndroid", + "-DREACT_ANDROID_BUILD_DIR=$rootDir/../node_modules/react-native/ReactAndroid/build", + "-DNODE_MODULES_DIR=$rootDir/../node_modules", + "-DANDROID_STL=c++_shared" } } if (!enableSeparateBuildPerCPUArchitecture) { @@ -171,8 +163,8 @@ android { if (isNewArchitectureEnabled()) { // We configure the NDK build only if you decide to opt-in for the New Architecture. externalNativeBuild { - ndkBuild { - path "$projectDir/src/main/jni/Android.mk" + cmake { + path "$projectDir/src/main/jni/CMakeLists.txt" } } def reactAndroidProjectDir = project(':ReactAndroid').projectDir @@ -194,15 +186,15 @@ android { preReleaseBuild.dependsOn(packageReactNdkReleaseLibs) // Due to a bug inside AGP, we have to explicitly set a dependency - // between configureNdkBuild* tasks and the preBuild tasks. + // between configureCMakeDebug* tasks and the preBuild tasks. // This can be removed once this is solved: https://issuetracker.google.com/issues/207403732 - configureNdkBuildRelease.dependsOn(preReleaseBuild) - configureNdkBuildDebug.dependsOn(preDebugBuild) + configureCMakeRelWithDebInfo.dependsOn(preReleaseBuild) + configureCMakeDebug.dependsOn(preDebugBuild) reactNativeArchitectures().each { architecture -> - tasks.findByName("configureNdkBuildDebug[${architecture}]")?.configure { + tasks.findByName("configureCMakeDebug[${architecture}]")?.configure { dependsOn("preDebugBuild") } - tasks.findByName("configureNdkBuildRelease[${architecture}]")?.configure { + tasks.findByName("configureCMakeRelWithDebInfo[${architecture}]")?.configure { dependsOn("preReleaseBuild") } } diff --git a/HelloWorld/android/app/src/main/jni/Android.mk b/HelloWorld/android/app/src/main/jni/Android.mk deleted file mode 100644 index cda13912..00000000 --- a/HelloWorld/android/app/src/main/jni/Android.mk +++ /dev/null @@ -1,48 +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 := helloworld_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_runtime \ - 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) diff --git a/HelloWorld/android/app/src/main/jni/CMakeLists.txt b/HelloWorld/android/app/src/main/jni/CMakeLists.txt new file mode 100644 index 00000000..e5be16f0 --- /dev/null +++ b/HelloWorld/android/app/src/main/jni/CMakeLists.txt @@ -0,0 +1,5 @@ +cmake_minimum_required(VERSION 3.13) +# Define the library name here. +project(rndiffapp_appmodules) +# This file includes all the necessary to let you build your application with the New Architecture. +include(${REACT_ANDROID_DIR}/cmake-utils/ReactNative-application.cmake) \ No newline at end of file diff --git a/HelloWorld/android/app/src/main/jni/MainApplicationModuleProvider.cpp b/HelloWorld/android/app/src/main/jni/MainApplicationModuleProvider.cpp index 0ac23cc6..340b97c7 100644 --- a/HelloWorld/android/app/src/main/jni/MainApplicationModuleProvider.cpp +++ b/HelloWorld/android/app/src/main/jni/MainApplicationModuleProvider.cpp @@ -1,12 +1,13 @@ #include "MainApplicationModuleProvider.h" +#include #include namespace facebook { namespace react { std::shared_ptr MainApplicationModuleProvider( - const std::string moduleName, + const std::string &moduleName, const JavaTurboModule::InitParams ¶ms) { // Here you can provide your own module provider for TurboModules coming from // either your application or from external libraries. The approach to follow @@ -17,6 +18,12 @@ std::shared_ptr MainApplicationModuleProvider( // return module; // } // return rncore_ModuleProvider(moduleName, params); + + // Module providers autolinked by RN CLI + auto rncli_module = rncli_ModuleProvider(moduleName, params); + if (rncli_module != nullptr) { + return rncli_module; + } return rncore_ModuleProvider(moduleName, params); } diff --git a/HelloWorld/android/app/src/main/jni/MainApplicationModuleProvider.h b/HelloWorld/android/app/src/main/jni/MainApplicationModuleProvider.h index 0fa43fa6..b38ccf53 100644 --- a/HelloWorld/android/app/src/main/jni/MainApplicationModuleProvider.h +++ b/HelloWorld/android/app/src/main/jni/MainApplicationModuleProvider.h @@ -9,7 +9,7 @@ namespace facebook { namespace react { std::shared_ptr MainApplicationModuleProvider( - const std::string moduleName, + const std::string &moduleName, const JavaTurboModule::InitParams ¶ms); } // namespace react diff --git a/HelloWorld/android/app/src/main/jni/MainApplicationTurboModuleManagerDelegate.cpp b/HelloWorld/android/app/src/main/jni/MainApplicationTurboModuleManagerDelegate.cpp index dbbdc3d1..5fd688c5 100644 --- a/HelloWorld/android/app/src/main/jni/MainApplicationTurboModuleManagerDelegate.cpp +++ b/HelloWorld/android/app/src/main/jni/MainApplicationTurboModuleManagerDelegate.cpp @@ -22,21 +22,21 @@ void MainApplicationTurboModuleManagerDelegate::registerNatives() { std::shared_ptr MainApplicationTurboModuleManagerDelegate::getTurboModule( - const std::string name, - const std::shared_ptr jsInvoker) { + const std::string &name, + const std::shared_ptr &jsInvoker) { // Not implemented yet: provide pure-C++ NativeModules here. return nullptr; } std::shared_ptr MainApplicationTurboModuleManagerDelegate::getTurboModule( - const std::string name, + const std::string &name, const JavaTurboModule::InitParams ¶ms) { return MainApplicationModuleProvider(name, params); } bool MainApplicationTurboModuleManagerDelegate::canCreateTurboModule( - std::string name) { + const std::string &name) { return getTurboModule(name, nullptr) != nullptr || getTurboModule(name, {.moduleName = name}) != nullptr; } diff --git a/HelloWorld/android/app/src/main/jni/MainApplicationTurboModuleManagerDelegate.h b/HelloWorld/android/app/src/main/jni/MainApplicationTurboModuleManagerDelegate.h index 25f27722..9ee38a81 100644 --- a/HelloWorld/android/app/src/main/jni/MainApplicationTurboModuleManagerDelegate.h +++ b/HelloWorld/android/app/src/main/jni/MainApplicationTurboModuleManagerDelegate.h @@ -21,17 +21,17 @@ class MainApplicationTurboModuleManagerDelegate static void registerNatives(); std::shared_ptr getTurboModule( - const std::string name, - const std::shared_ptr jsInvoker) override; + const std::string &name, + const std::shared_ptr &jsInvoker) override; std::shared_ptr getTurboModule( - const std::string name, + const std::string &name, const JavaTurboModule::InitParams ¶ms) override; /** * Test-only method. Allows user to verify whether a TurboModule can be * created by instances of this class. */ - bool canCreateTurboModule(std::string name); + bool canCreateTurboModule(const std::string &name); }; } // namespace react diff --git a/HelloWorld/android/app/src/main/jni/MainComponentsRegistry.cpp b/HelloWorld/android/app/src/main/jni/MainComponentsRegistry.cpp index 8f7edffd..055bafdd 100644 --- a/HelloWorld/android/app/src/main/jni/MainComponentsRegistry.cpp +++ b/HelloWorld/android/app/src/main/jni/MainComponentsRegistry.cpp @@ -3,7 +3,7 @@ #include #include #include -#include +#include namespace facebook { namespace react { @@ -14,6 +14,9 @@ std::shared_ptr MainComponentsRegistry::sharedProviderRegistry() { auto providerRegistry = CoreComponentsRegistry::sharedProviderRegistry(); + // Autolinked providers registered by RN CLI + rncli_registerProviders(providerRegistry); + // Custom Fabric Components go here. You can register custom // components coming from your App or from 3rd party libraries here. // diff --git a/HelloWorld/android/build.gradle b/HelloWorld/android/build.gradle index c9bc539d..8569fee3 100644 --- a/HelloWorld/android/build.gradle +++ b/HelloWorld/android/build.gradle @@ -1,5 +1,3 @@ -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 { @@ -22,7 +20,7 @@ buildscript { mavenCentral() } dependencies { - classpath("com.android.tools.build:gradle:7.1.1") + classpath("com.android.tools.build:gradle:7.2.1") classpath("com.facebook.react:react-native-gradle-plugin") classpath("de.undercouch:gradle-download-task:5.0.1") // NOTE: Do not place your application dependencies here; they belong diff --git a/HelloWorld/android/gradle/wrapper/gradle-wrapper.jar b/HelloWorld/android/gradle/wrapper/gradle-wrapper.jar index 7454180f..41d9927a 100644 Binary files a/HelloWorld/android/gradle/wrapper/gradle-wrapper.jar and b/HelloWorld/android/gradle/wrapper/gradle-wrapper.jar differ diff --git a/HelloWorld/android/gradle/wrapper/gradle-wrapper.properties b/HelloWorld/android/gradle/wrapper/gradle-wrapper.properties index 669386b8..8fad3f5a 100644 --- a/HelloWorld/android/gradle/wrapper/gradle-wrapper.properties +++ b/HelloWorld/android/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.3.3-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-7.5.1-all.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/HelloWorld/ios/HelloWorld.xcodeproj/project.pbxproj b/HelloWorld/ios/HelloWorld.xcodeproj/project.pbxproj index 3c5189ff..f6a7d83e 100644 --- a/HelloWorld/ios/HelloWorld.xcodeproj/project.pbxproj +++ b/HelloWorld/ios/HelloWorld.xcodeproj/project.pbxproj @@ -8,12 +8,12 @@ /* Begin PBXBuildFile section */ 00E356F31AD99517003FC87E /* HelloWorldTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 00E356F21AD99517003FC87E /* HelloWorldTests.m */; }; - 13B07FBC1A68108700A75B9A /* AppDelegate.mm in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB01A68108700A75B9A /* AppDelegate.mm */; }; + 0C80B921A6F3F58F76C31292 /* libPods-HelloWorld.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 5DCACB8F33CDC322A6C60F78 /* libPods-HelloWorld.a */; }; + 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 */; }; - 2F752B00D8A9DCB96911645B /* libPods-HelloWorld-HelloWorldTests.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 6FA604D78B9250B9C744BC91 /* libPods-HelloWorld-HelloWorldTests.a */; }; + 7699B88040F8A987B510C191 /* libPods-HelloWorld-HelloWorldTests.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 19F6CBCC0A4E27FBF8BF4A61 /* libPods-HelloWorld-HelloWorldTests.a */; }; 81AB9BB82411601600AC10FF /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 81AB9BB72411601600AC10FF /* LaunchScreen.storyboard */; }; - FA5C3CD43F1DAECE9ACB5B99 /* libPods-HelloWorld.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 90D6F9EE8BD25235514F0121 /* libPods-HelloWorld.a */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -30,19 +30,19 @@ 00E356EE1AD99517003FC87E /* HelloWorldTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = HelloWorldTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; 00E356F11AD99517003FC87E /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 00E356F21AD99517003FC87E /* HelloWorldTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = HelloWorldTests.m; sourceTree = ""; }; - 0BB6F859E7AD9D801C2EFD21 /* Pods-HelloWorld.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-HelloWorld.release.xcconfig"; path = "Target Support Files/Pods-HelloWorld/Pods-HelloWorld.release.xcconfig"; sourceTree = ""; }; 13B07F961A680F5B00A75B9A /* HelloWorld.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = HelloWorld.app; sourceTree = BUILT_PRODUCTS_DIR; }; 13B07FAF1A68108700A75B9A /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AppDelegate.h; path = HelloWorld/AppDelegate.h; sourceTree = ""; }; - 13B07FB01A68108700A75B9A /* AppDelegate.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = AppDelegate.mm ; path = HelloWorld/AppDelegate.mm ; sourceTree = ""; }; + 13B07FB01A68108700A75B9A /* AppDelegate.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = AppDelegate.mm; path = HelloWorld/AppDelegate.mm; sourceTree = ""; }; 13B07FB51A68108700A75B9A /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Images.xcassets; path = HelloWorld/Images.xcassets; sourceTree = ""; }; 13B07FB61A68108700A75B9A /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = Info.plist; path = HelloWorld/Info.plist; sourceTree = ""; }; 13B07FB71A68108700A75B9A /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = main.m; path = HelloWorld/main.m; sourceTree = ""; }; - 65E59E2D1860658F7134E3BC /* Pods-HelloWorld.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-HelloWorld.debug.xcconfig"; path = "Target Support Files/Pods-HelloWorld/Pods-HelloWorld.debug.xcconfig"; sourceTree = ""; }; - 6FA604D78B9250B9C744BC91 /* libPods-HelloWorld-HelloWorldTests.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-HelloWorld-HelloWorldTests.a"; sourceTree = BUILT_PRODUCTS_DIR; }; + 19F6CBCC0A4E27FBF8BF4A61 /* libPods-HelloWorld-HelloWorldTests.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-HelloWorld-HelloWorldTests.a"; sourceTree = BUILT_PRODUCTS_DIR; }; + 3B4392A12AC88292D35C810B /* Pods-HelloWorld.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-HelloWorld.debug.xcconfig"; path = "Target Support Files/Pods-HelloWorld/Pods-HelloWorld.debug.xcconfig"; sourceTree = ""; }; + 5709B34CF0A7D63546082F79 /* Pods-HelloWorld.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-HelloWorld.release.xcconfig"; path = "Target Support Files/Pods-HelloWorld/Pods-HelloWorld.release.xcconfig"; sourceTree = ""; }; + 5B7EB9410499542E8C5724F5 /* Pods-HelloWorld-HelloWorldTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-HelloWorld-HelloWorldTests.debug.xcconfig"; path = "Target Support Files/Pods-HelloWorld-HelloWorldTests/Pods-HelloWorld-HelloWorldTests.debug.xcconfig"; sourceTree = ""; }; + 5DCACB8F33CDC322A6C60F78 /* libPods-HelloWorld.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-HelloWorld.a"; sourceTree = BUILT_PRODUCTS_DIR; }; 81AB9BB72411601600AC10FF /* LaunchScreen.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; name = LaunchScreen.storyboard; path = HelloWorld/LaunchScreen.storyboard; sourceTree = ""; }; - 87701BAC4E3851E623834D7D /* Pods-HelloWorld-HelloWorldTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-HelloWorld-HelloWorldTests.debug.xcconfig"; path = "Target Support Files/Pods-HelloWorld-HelloWorldTests/Pods-HelloWorld-HelloWorldTests.debug.xcconfig"; sourceTree = ""; }; - 90D6F9EE8BD25235514F0121 /* libPods-HelloWorld.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-HelloWorld.a"; sourceTree = BUILT_PRODUCTS_DIR; }; - D15037DB40B0ACCB2D64FD80 /* Pods-HelloWorld-HelloWorldTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-HelloWorld-HelloWorldTests.release.xcconfig"; path = "Target Support Files/Pods-HelloWorld-HelloWorldTests/Pods-HelloWorld-HelloWorldTests.release.xcconfig"; sourceTree = ""; }; + 89C6BE57DB24E9ADA2F236DE /* Pods-HelloWorld-HelloWorldTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-HelloWorld-HelloWorldTests.release.xcconfig"; path = "Target Support Files/Pods-HelloWorld-HelloWorldTests/Pods-HelloWorld-HelloWorldTests.release.xcconfig"; sourceTree = ""; }; ED297162215061F000B7C4FE /* JavaScriptCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = JavaScriptCore.framework; path = System/Library/Frameworks/JavaScriptCore.framework; sourceTree = SDKROOT; }; /* End PBXFileReference section */ @@ -51,7 +51,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 2F752B00D8A9DCB96911645B /* libPods-HelloWorld-HelloWorldTests.a in Frameworks */, + 7699B88040F8A987B510C191 /* libPods-HelloWorld-HelloWorldTests.a in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -59,7 +59,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - FA5C3CD43F1DAECE9ACB5B99 /* libPods-HelloWorld.a in Frameworks */, + 0C80B921A6F3F58F76C31292 /* libPods-HelloWorld.a in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -87,7 +87,7 @@ isa = PBXGroup; children = ( 13B07FAF1A68108700A75B9A /* AppDelegate.h */, - 13B07FB01A68108700A75B9A /* AppDelegate.mm */, + 13B07FB01A68108700A75B9A /* AppDelegate.mm */, 13B07FB51A68108700A75B9A /* Images.xcassets */, 13B07FB61A68108700A75B9A /* Info.plist */, 81AB9BB72411601600AC10FF /* LaunchScreen.storyboard */, @@ -96,24 +96,12 @@ name = HelloWorld; sourceTree = ""; }; - 27D0D7FE2E4ECCB8238813EE /* Pods */ = { - isa = PBXGroup; - children = ( - 65E59E2D1860658F7134E3BC /* Pods-HelloWorld.debug.xcconfig */, - 0BB6F859E7AD9D801C2EFD21 /* Pods-HelloWorld.release.xcconfig */, - 87701BAC4E3851E623834D7D /* Pods-HelloWorld-HelloWorldTests.debug.xcconfig */, - D15037DB40B0ACCB2D64FD80 /* Pods-HelloWorld-HelloWorldTests.release.xcconfig */, - ); - name = Pods; - path = Pods; - sourceTree = ""; - }; 2D16E6871FA4F8E400B85C8A /* Frameworks */ = { isa = PBXGroup; children = ( ED297162215061F000B7C4FE /* JavaScriptCore.framework */, - 90D6F9EE8BD25235514F0121 /* libPods-HelloWorld.a */, - 6FA604D78B9250B9C744BC91 /* libPods-HelloWorld-HelloWorldTests.a */, + 5DCACB8F33CDC322A6C60F78 /* libPods-HelloWorld.a */, + 19F6CBCC0A4E27FBF8BF4A61 /* libPods-HelloWorld-HelloWorldTests.a */, ); name = Frameworks; sourceTree = ""; @@ -133,7 +121,7 @@ 00E356EF1AD99517003FC87E /* HelloWorldTests */, 83CBBA001A601CBA00E9B192 /* Products */, 2D16E6871FA4F8E400B85C8A /* Frameworks */, - 27D0D7FE2E4ECCB8238813EE /* Pods */, + BBD78D7AC51CEA395F1C20DB /* Pods */, ); indentWidth = 2; sourceTree = ""; @@ -167,12 +155,12 @@ isa = PBXNativeTarget; buildConfigurationList = 00E357021AD99517003FC87E /* Build configuration list for PBXNativeTarget "HelloWorldTests" */; buildPhases = ( - AC9717B06F85C58432A3EB23 /* [CP] Check Pods Manifest.lock */, + A55EABD7B0C7F3A422A6CC61 /* [CP] Check Pods Manifest.lock */, 00E356EA1AD99517003FC87E /* Sources */, 00E356EB1AD99517003FC87E /* Frameworks */, 00E356EC1AD99517003FC87E /* Resources */, - AF16A3CF8FD7A5591ADE2027 /* [CP] Embed Pods Frameworks */, - C20F63D6D9F4AA2B41BF1395 /* [CP] Copy Pods Resources */, + C59DA0FBD6956966B86A3779 /* [CP] Embed Pods Frameworks */, + F6A41C54EA430FDDC6A6ED99 /* [CP] Copy Pods Resources */, ); buildRules = ( ); @@ -188,14 +176,14 @@ isa = PBXNativeTarget; buildConfigurationList = 13B07F931A680F5B00A75B9A /* Build configuration list for PBXNativeTarget "HelloWorld" */; buildPhases = ( - 91FBE4E2DA483B0ECF42A272 /* [CP] Check Pods Manifest.lock */, + C38B50BA6285516D6DCD4F65 /* [CP] Check Pods Manifest.lock */, FD10A7F022414F080027D42C /* Start Packager */, 13B07F871A680F5B00A75B9A /* Sources */, 13B07F8C1A680F5B00A75B9A /* Frameworks */, 13B07F8E1A680F5B00A75B9A /* Resources */, 00DD1BFF1BD5951E006B06BC /* Bundle React Native code and images */, - 8EC801523F11FCE50849ADB7 /* [CP] Embed Pods Frameworks */, - AA30A97098D91519DFBC47E8 /* [CP] Copy Pods Resources */, + 00EEFC60759A1932668264C0 /* [CP] Embed Pods Frameworks */, + E235C05ADACE081382539298 /* [CP] Copy Pods Resources */, ); buildRules = ( ); @@ -278,7 +266,7 @@ 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"; }; - 8EC801523F11FCE50849ADB7 /* [CP] Embed Pods Frameworks */ = { + 00EEFC60759A1932668264C0 /* [CP] Embed Pods Frameworks */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -295,7 +283,7 @@ shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-HelloWorld/Pods-HelloWorld-frameworks.sh\"\n"; showEnvVarsInLog = 0; }; - 91FBE4E2DA483B0ECF42A272 /* [CP] Check Pods Manifest.lock */ = { + A55EABD7B0C7F3A422A6CC61 /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -317,7 +305,7 @@ 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; }; - AA30A97098D91519DFBC47E8 /* [CP] Copy Pods Resources */ = { + C38B50BA6285516D6DCD4F65 /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -339,46 +327,41 @@ 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; }; - AC9717B06F85C58432A3EB23 /* [CP] Check Pods Manifest.lock */ = { + C59DA0FBD6956966B86A3779 /* [CP] Embed Pods Frameworks */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-HelloWorld-HelloWorldTests/Pods-HelloWorld-HelloWorldTests-frameworks-${CONFIGURATION}-input-files.xcfilelist", ); - inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", - ); - name = "[CP] Check Pods Manifest.lock"; + name = "[CP] Embed Pods Frameworks"; outputFileListPaths = ( - ); - outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-HelloWorld-HelloWorldTests-checkManifestLockResult.txt", + "${PODS_ROOT}/Target Support Files/Pods-HelloWorld-HelloWorldTests/Pods-HelloWorld-HelloWorldTests-frameworks-${CONFIGURATION}-output-files.xcfilelist", ); 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"; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-HelloWorld-HelloWorldTests/Pods-HelloWorld-HelloWorldTests-frameworks.sh\"\n"; showEnvVarsInLog = 0; }; - AF16A3CF8FD7A5591ADE2027 /* [CP] Embed Pods Frameworks */ = { + E235C05ADACE081382539298 /* [CP] Copy Pods Resources */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-HelloWorld-HelloWorldTests/Pods-HelloWorld-HelloWorldTests-frameworks-${CONFIGURATION}-input-files.xcfilelist", + "${PODS_ROOT}/Target Support Files/Pods-HelloWorld/Pods-HelloWorld-resources-${CONFIGURATION}-input-files.xcfilelist", ); - name = "[CP] Embed Pods Frameworks"; + name = "[CP] Copy Pods Resources"; outputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-HelloWorld-HelloWorldTests/Pods-HelloWorld-HelloWorldTests-frameworks-${CONFIGURATION}-output-files.xcfilelist", + "${PODS_ROOT}/Target Support Files/Pods-HelloWorld/Pods-HelloWorld-resources-${CONFIGURATION}-output-files.xcfilelist", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-HelloWorld-HelloWorldTests/Pods-HelloWorld-HelloWorldTests-frameworks.sh\"\n"; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-HelloWorld/Pods-HelloWorld-resources.sh\"\n"; showEnvVarsInLog = 0; }; - C20F63D6D9F4AA2B41BF1395 /* [CP] Copy Pods Resources */ = { + F6A41C54EA430FDDC6A6ED99 /* [CP] Copy Pods Resources */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -429,7 +412,7 @@ isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 13B07FBC1A68108700A75B9A /* AppDelegate.mm in Sources */, + 13B07FBC1A68108700A75B9A /* AppDelegate.mm in Sources */, 13B07FC11A68108700A75B9A /* main.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; @@ -447,7 +430,7 @@ /* Begin XCBuildConfiguration section */ 00E356F61AD99517003FC87E /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 87701BAC4E3851E623834D7D /* Pods-HelloWorld-HelloWorldTests.debug.xcconfig */; + baseConfigurationReference = 5B7EB9410499542E8C5724F5 /* Pods-HelloWorld-HelloWorldTests.debug.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; GCC_PREPROCESSOR_DEFINITIONS = ( @@ -474,7 +457,7 @@ }; 00E356F71AD99517003FC87E /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = D15037DB40B0ACCB2D64FD80 /* Pods-HelloWorld-HelloWorldTests.release.xcconfig */; + baseConfigurationReference = 89C6BE57DB24E9ADA2F236DE /* Pods-HelloWorld-HelloWorldTests.release.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; COPY_PHASE_STRIP = NO; @@ -498,13 +481,14 @@ }; 13B07F941A680F5B00A75B9A /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 65E59E2D1860658F7134E3BC /* Pods-HelloWorld.debug.xcconfig */; + baseConfigurationReference = 3B4392A12AC88292D35C810B /* Pods-HelloWorld.debug.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; CURRENT_PROJECT_VERSION = 1; ENABLE_BITCODE = NO; INFOPLIST_FILE = HelloWorld/Info.plist; + IPHONEOS_DEPLOYMENT_TARGET = 12.4; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", @@ -524,12 +508,13 @@ }; 13B07F951A680F5B00A75B9A /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 0BB6F859E7AD9D801C2EFD21 /* Pods-HelloWorld.release.xcconfig */; + baseConfigurationReference = 5709B34CF0A7D63546082F79 /* Pods-HelloWorld.release.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; CURRENT_PROJECT_VERSION = 1; INFOPLIST_FILE = HelloWorld/Info.plist; + IPHONEOS_DEPLOYMENT_TARGET = 12.4; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", @@ -579,7 +564,7 @@ COPY_PHASE_STRIP = NO; ENABLE_STRICT_OBJC_MSGSEND = YES; ENABLE_TESTABILITY = YES; - "EXCLUDED_ARCHS[sdk=iphonesimulator*]" = ""; + "EXCLUDED_ARCHS[sdk=iphonesimulator*]" = i386; GCC_C_LANGUAGE_STANDARD = gnu99; GCC_DYNAMIC_NO_PIC = NO; GCC_NO_COMMON_BLOCKS = YES; @@ -595,7 +580,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 12.4; + IPHONEOS_DEPLOYMENT_TARGET = 16.1; LD_RUNPATH_SEARCH_PATHS = ( /usr/lib/swift, "$(inherited)", @@ -607,7 +592,12 @@ ); MTL_ENABLE_DEBUG_INFO = YES; ONLY_ACTIVE_ARCH = YES; - REACT_NATIVE_PATH = "${PODS_ROOT}/../../node_modules/react-native"; + OTHER_CPLUSPLUSFLAGS = ( + "$(OTHER_CFLAGS)", + "-DFOLLY_NO_CONFIG", + "-DFOLLY_MOBILE=1", + "-DFOLLY_USE_LIBCPP=1", + ); SDKROOT = iphoneos; }; name = Debug; @@ -645,7 +635,7 @@ COPY_PHASE_STRIP = YES; ENABLE_NS_ASSERTIONS = NO; ENABLE_STRICT_OBJC_MSGSEND = YES; - "EXCLUDED_ARCHS[sdk=iphonesimulator*]" = ""; + "EXCLUDED_ARCHS[sdk=iphonesimulator*]" = i386; GCC_C_LANGUAGE_STANDARD = gnu99; GCC_NO_COMMON_BLOCKS = YES; GCC_WARN_64_TO_32_BIT_CONVERSION = YES; @@ -654,7 +644,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 12.4; + IPHONEOS_DEPLOYMENT_TARGET = 16.1; LD_RUNPATH_SEARCH_PATHS = ( /usr/lib/swift, "$(inherited)", @@ -665,7 +655,12 @@ "\"$(inherited)\"", ); MTL_ENABLE_DEBUG_INFO = NO; - REACT_NATIVE_PATH = "${PODS_ROOT}/../../node_modules/react-native"; + OTHER_CPLUSPLUSFLAGS = ( + "$(OTHER_CFLAGS)", + "-DFOLLY_NO_CONFIG", + "-DFOLLY_MOBILE=1", + "-DFOLLY_USE_LIBCPP=1", + ); SDKROOT = iphoneos; VALIDATE_PRODUCT = YES; }; diff --git a/HelloWorld/ios/Podfile b/HelloWorld/ios/Podfile index 9db01679..5567e68b 100644 --- a/HelloWorld/ios/Podfile +++ b/HelloWorld/ios/Podfile @@ -3,11 +3,8 @@ require_relative '../node_modules/@react-native-community/cli-platform-ios/nativ platform :ios, '12.4' install! 'cocoapods', :deterministic_uuids => false -<<<<<<< HEAD -======= production = ENV["PRODUCTION"] == "1" ->>>>>>> 52c0c77 (feat(example): Upgrade react native to v0.69.3) target 'HelloWorld' do config = use_native_modules! @@ -17,10 +14,15 @@ target 'HelloWorld' do use_react_native!( :path => config[:reactNativePath], - # to enable hermes on iOS, change `false` to `true` and then install pods - :production => production, - :hermes_enabled => flags[:hermes_enabled], + # 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 => true, :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 => FlipperConfiguration.enabled, # An absolute path to your application root. :app_path => "#{Pod::Config.instance.installation_root}/.." @@ -32,7 +34,12 @@ target 'HelloWorld' do end post_install do |installer| - react_native_post_install(installer) + react_native_post_install( + installer, + # 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) end end diff --git a/HelloWorld/ios/Podfile.lock b/HelloWorld/ios/Podfile.lock deleted file mode 100644 index bdc7426b..00000000 --- a/HelloWorld/ios/Podfile.lock +++ /dev/null @@ -1,629 +0,0 @@ -PODS: - - boost (1.76.0) - - CocoaAsyncSocket (7.6.5) - - DoubleConversion (1.1.6) - - FBLazyVector (0.69.3) - - FBReactNativeSpec (0.69.3): - - RCT-Folly (= 2021.06.28.00-v2) - - RCTRequired (= 0.69.3) - - RCTTypeSafety (= 0.69.3) - - React-Core (= 0.69.3) - - React-jsi (= 0.69.3) - - ReactCommon/turbomodule/core (= 0.69.3) - - Flipper (0.125.0): - - Flipper-Folly (~> 2.6) - - Flipper-RSocket (~> 1.4) - - Flipper-Boost-iOSX (1.76.0.1.11) - - Flipper-DoubleConversion (3.2.0.1) - - Flipper-Fmt (7.1.7) - - Flipper-Folly (2.6.10): - - Flipper-Boost-iOSX - - Flipper-DoubleConversion - - Flipper-Fmt (= 7.1.7) - - Flipper-Glog - - libevent (~> 2.1.12) - - OpenSSL-Universal (= 1.1.1100) - - Flipper-Glog (0.5.0.5) - - Flipper-PeerTalk (0.0.4) - - Flipper-RSocket (1.4.3): - - Flipper-Folly (~> 2.6) - - FlipperKit (0.125.0): - - FlipperKit/Core (= 0.125.0) - - FlipperKit/Core (0.125.0): - - Flipper (~> 0.125.0) - - FlipperKit/CppBridge - - FlipperKit/FBCxxFollyDynamicConvert - - FlipperKit/FBDefines - - FlipperKit/FKPortForwarding - - SocketRocket (~> 0.6.0) - - FlipperKit/CppBridge (0.125.0): - - Flipper (~> 0.125.0) - - FlipperKit/FBCxxFollyDynamicConvert (0.125.0): - - Flipper-Folly (~> 2.6) - - FlipperKit/FBDefines (0.125.0) - - FlipperKit/FKPortForwarding (0.125.0): - - CocoaAsyncSocket (~> 7.6) - - Flipper-PeerTalk (~> 0.0.4) - - FlipperKit/FlipperKitHighlightOverlay (0.125.0) - - FlipperKit/FlipperKitLayoutHelpers (0.125.0): - - FlipperKit/Core - - FlipperKit/FlipperKitHighlightOverlay - - FlipperKit/FlipperKitLayoutTextSearchable - - FlipperKit/FlipperKitLayoutIOSDescriptors (0.125.0): - - FlipperKit/Core - - FlipperKit/FlipperKitHighlightOverlay - - FlipperKit/FlipperKitLayoutHelpers - - YogaKit (~> 1.18) - - FlipperKit/FlipperKitLayoutPlugin (0.125.0): - - FlipperKit/Core - - FlipperKit/FlipperKitHighlightOverlay - - FlipperKit/FlipperKitLayoutHelpers - - FlipperKit/FlipperKitLayoutIOSDescriptors - - FlipperKit/FlipperKitLayoutTextSearchable - - YogaKit (~> 1.18) - - FlipperKit/FlipperKitLayoutTextSearchable (0.125.0) - - FlipperKit/FlipperKitNetworkPlugin (0.125.0): - - FlipperKit/Core - - FlipperKit/FlipperKitReactPlugin (0.125.0): - - FlipperKit/Core - - FlipperKit/FlipperKitUserDefaultsPlugin (0.125.0): - - FlipperKit/Core - - FlipperKit/SKIOSNetworkPlugin (0.125.0): - - FlipperKit/Core - - FlipperKit/FlipperKitNetworkPlugin - - fmt (6.2.1) - - glog (0.3.5) - - libevent (2.1.12) - - OpenSSL-Universal (1.1.1100) - - RCT-Folly (2021.06.28.00-v2): - - boost - - DoubleConversion - - fmt (~> 6.2.1) - - glog - - RCT-Folly/Default (= 2021.06.28.00-v2) - - RCT-Folly/Default (2021.06.28.00-v2): - - boost - - DoubleConversion - - fmt (~> 6.2.1) - - glog - - RCTRequired (0.69.3) - - RCTTypeSafety (0.69.3): - - FBLazyVector (= 0.69.3) - - RCTRequired (= 0.69.3) - - React-Core (= 0.69.3) - - React (0.69.3): - - React-Core (= 0.69.3) - - React-Core/DevSupport (= 0.69.3) - - React-Core/RCTWebSocket (= 0.69.3) - - React-RCTActionSheet (= 0.69.3) - - React-RCTAnimation (= 0.69.3) - - React-RCTBlob (= 0.69.3) - - React-RCTImage (= 0.69.3) - - React-RCTLinking (= 0.69.3) - - React-RCTNetwork (= 0.69.3) - - React-RCTSettings (= 0.69.3) - - React-RCTText (= 0.69.3) - - React-RCTVibration (= 0.69.3) - - React-bridging (0.69.3): - - RCT-Folly (= 2021.06.28.00-v2) - - React-jsi (= 0.69.3) - - React-callinvoker (0.69.3) - - React-Codegen (0.69.3): - - FBReactNativeSpec (= 0.69.3) - - RCT-Folly (= 2021.06.28.00-v2) - - RCTRequired (= 0.69.3) - - RCTTypeSafety (= 0.69.3) - - React-Core (= 0.69.3) - - React-jsi (= 0.69.3) - - React-jsiexecutor (= 0.69.3) - - ReactCommon/turbomodule/core (= 0.69.3) - - React-Core (0.69.3): - - glog - - RCT-Folly (= 2021.06.28.00-v2) - - React-Core/Default (= 0.69.3) - - React-cxxreact (= 0.69.3) - - React-jsi (= 0.69.3) - - React-jsiexecutor (= 0.69.3) - - React-perflogger (= 0.69.3) - - Yoga - - React-Core/CoreModulesHeaders (0.69.3): - - glog - - RCT-Folly (= 2021.06.28.00-v2) - - React-Core/Default - - React-cxxreact (= 0.69.3) - - React-jsi (= 0.69.3) - - React-jsiexecutor (= 0.69.3) - - React-perflogger (= 0.69.3) - - Yoga - - React-Core/Default (0.69.3): - - glog - - RCT-Folly (= 2021.06.28.00-v2) - - React-cxxreact (= 0.69.3) - - React-jsi (= 0.69.3) - - React-jsiexecutor (= 0.69.3) - - React-perflogger (= 0.69.3) - - Yoga - - React-Core/DevSupport (0.69.3): - - glog - - RCT-Folly (= 2021.06.28.00-v2) - - React-Core/Default (= 0.69.3) - - React-Core/RCTWebSocket (= 0.69.3) - - React-cxxreact (= 0.69.3) - - React-jsi (= 0.69.3) - - React-jsiexecutor (= 0.69.3) - - React-jsinspector (= 0.69.3) - - React-perflogger (= 0.69.3) - - Yoga - - React-Core/RCTActionSheetHeaders (0.69.3): - - glog - - RCT-Folly (= 2021.06.28.00-v2) - - React-Core/Default - - React-cxxreact (= 0.69.3) - - React-jsi (= 0.69.3) - - React-jsiexecutor (= 0.69.3) - - React-perflogger (= 0.69.3) - - Yoga - - React-Core/RCTAnimationHeaders (0.69.3): - - glog - - RCT-Folly (= 2021.06.28.00-v2) - - React-Core/Default - - React-cxxreact (= 0.69.3) - - React-jsi (= 0.69.3) - - React-jsiexecutor (= 0.69.3) - - React-perflogger (= 0.69.3) - - Yoga - - React-Core/RCTBlobHeaders (0.69.3): - - glog - - RCT-Folly (= 2021.06.28.00-v2) - - React-Core/Default - - React-cxxreact (= 0.69.3) - - React-jsi (= 0.69.3) - - React-jsiexecutor (= 0.69.3) - - React-perflogger (= 0.69.3) - - Yoga - - React-Core/RCTImageHeaders (0.69.3): - - glog - - RCT-Folly (= 2021.06.28.00-v2) - - React-Core/Default - - React-cxxreact (= 0.69.3) - - React-jsi (= 0.69.3) - - React-jsiexecutor (= 0.69.3) - - React-perflogger (= 0.69.3) - - Yoga - - React-Core/RCTLinkingHeaders (0.69.3): - - glog - - RCT-Folly (= 2021.06.28.00-v2) - - React-Core/Default - - React-cxxreact (= 0.69.3) - - React-jsi (= 0.69.3) - - React-jsiexecutor (= 0.69.3) - - React-perflogger (= 0.69.3) - - Yoga - - React-Core/RCTNetworkHeaders (0.69.3): - - glog - - RCT-Folly (= 2021.06.28.00-v2) - - React-Core/Default - - React-cxxreact (= 0.69.3) - - React-jsi (= 0.69.3) - - React-jsiexecutor (= 0.69.3) - - React-perflogger (= 0.69.3) - - Yoga - - React-Core/RCTSettingsHeaders (0.69.3): - - glog - - RCT-Folly (= 2021.06.28.00-v2) - - React-Core/Default - - React-cxxreact (= 0.69.3) - - React-jsi (= 0.69.3) - - React-jsiexecutor (= 0.69.3) - - React-perflogger (= 0.69.3) - - Yoga - - React-Core/RCTTextHeaders (0.69.3): - - glog - - RCT-Folly (= 2021.06.28.00-v2) - - React-Core/Default - - React-cxxreact (= 0.69.3) - - React-jsi (= 0.69.3) - - React-jsiexecutor (= 0.69.3) - - React-perflogger (= 0.69.3) - - Yoga - - React-Core/RCTVibrationHeaders (0.69.3): - - glog - - RCT-Folly (= 2021.06.28.00-v2) - - React-Core/Default - - React-cxxreact (= 0.69.3) - - React-jsi (= 0.69.3) - - React-jsiexecutor (= 0.69.3) - - React-perflogger (= 0.69.3) - - Yoga - - React-Core/RCTWebSocket (0.69.3): - - glog - - RCT-Folly (= 2021.06.28.00-v2) - - React-Core/Default (= 0.69.3) - - React-cxxreact (= 0.69.3) - - React-jsi (= 0.69.3) - - React-jsiexecutor (= 0.69.3) - - React-perflogger (= 0.69.3) - - Yoga - - React-CoreModules (0.69.3): - - RCT-Folly (= 2021.06.28.00-v2) - - RCTTypeSafety (= 0.69.3) - - React-Codegen (= 0.69.3) - - React-Core/CoreModulesHeaders (= 0.69.3) - - React-jsi (= 0.69.3) - - React-RCTImage (= 0.69.3) - - ReactCommon/turbomodule/core (= 0.69.3) - - React-cxxreact (0.69.3): - - boost (= 1.76.0) - - DoubleConversion - - glog - - RCT-Folly (= 2021.06.28.00-v2) - - React-callinvoker (= 0.69.3) - - React-jsi (= 0.69.3) - - React-jsinspector (= 0.69.3) - - React-logger (= 0.69.3) - - React-perflogger (= 0.69.3) - - React-runtimeexecutor (= 0.69.3) - - React-jsi (0.69.3): - - boost (= 1.76.0) - - DoubleConversion - - glog - - RCT-Folly (= 2021.06.28.00-v2) - - React-jsi/Default (= 0.69.3) - - React-jsi/Default (0.69.3): - - boost (= 1.76.0) - - DoubleConversion - - glog - - RCT-Folly (= 2021.06.28.00-v2) - - React-jsiexecutor (0.69.3): - - DoubleConversion - - glog - - RCT-Folly (= 2021.06.28.00-v2) - - React-cxxreact (= 0.69.3) - - React-jsi (= 0.69.3) - - React-perflogger (= 0.69.3) - - React-jsinspector (0.69.3) - - React-logger (0.69.3): - - glog - - react-native-safe-area-context (4.3.1): - - RCT-Folly - - RCTRequired - - RCTTypeSafety - - React - - ReactCommon/turbomodule/core - - React-perflogger (0.69.3) - - React-RCTActionSheet (0.69.3): - - React-Core/RCTActionSheetHeaders (= 0.69.3) - - React-RCTAnimation (0.69.3): - - RCT-Folly (= 2021.06.28.00-v2) - - RCTTypeSafety (= 0.69.3) - - React-Codegen (= 0.69.3) - - React-Core/RCTAnimationHeaders (= 0.69.3) - - React-jsi (= 0.69.3) - - ReactCommon/turbomodule/core (= 0.69.3) - - React-RCTBlob (0.69.3): - - RCT-Folly (= 2021.06.28.00-v2) - - React-Codegen (= 0.69.3) - - React-Core/RCTBlobHeaders (= 0.69.3) - - React-Core/RCTWebSocket (= 0.69.3) - - React-jsi (= 0.69.3) - - React-RCTNetwork (= 0.69.3) - - ReactCommon/turbomodule/core (= 0.69.3) - - React-RCTImage (0.69.3): - - RCT-Folly (= 2021.06.28.00-v2) - - RCTTypeSafety (= 0.69.3) - - React-Codegen (= 0.69.3) - - React-Core/RCTImageHeaders (= 0.69.3) - - React-jsi (= 0.69.3) - - React-RCTNetwork (= 0.69.3) - - ReactCommon/turbomodule/core (= 0.69.3) - - React-RCTLinking (0.69.3): - - React-Codegen (= 0.69.3) - - React-Core/RCTLinkingHeaders (= 0.69.3) - - React-jsi (= 0.69.3) - - ReactCommon/turbomodule/core (= 0.69.3) - - React-RCTNetwork (0.69.3): - - RCT-Folly (= 2021.06.28.00-v2) - - RCTTypeSafety (= 0.69.3) - - React-Codegen (= 0.69.3) - - React-Core/RCTNetworkHeaders (= 0.69.3) - - React-jsi (= 0.69.3) - - ReactCommon/turbomodule/core (= 0.69.3) - - React-RCTSettings (0.69.3): - - RCT-Folly (= 2021.06.28.00-v2) - - RCTTypeSafety (= 0.69.3) - - React-Codegen (= 0.69.3) - - React-Core/RCTSettingsHeaders (= 0.69.3) - - React-jsi (= 0.69.3) - - ReactCommon/turbomodule/core (= 0.69.3) - - React-RCTText (0.69.3): - - React-Core/RCTTextHeaders (= 0.69.3) - - React-RCTVibration (0.69.3): - - RCT-Folly (= 2021.06.28.00-v2) - - React-Codegen (= 0.69.3) - - React-Core/RCTVibrationHeaders (= 0.69.3) - - React-jsi (= 0.69.3) - - ReactCommon/turbomodule/core (= 0.69.3) - - React-runtimeexecutor (0.69.3): - - React-jsi (= 0.69.3) - - ReactCommon/turbomodule/core (0.69.3): - - DoubleConversion - - glog - - RCT-Folly (= 2021.06.28.00-v2) - - React-bridging (= 0.69.3) - - React-callinvoker (= 0.69.3) - - React-Core (= 0.69.3) - - React-cxxreact (= 0.69.3) - - React-jsi (= 0.69.3) - - React-logger (= 0.69.3) - - React-perflogger (= 0.69.3) - - RNCAsyncStorage (1.17.7): - - React-Core - - RNCMaskedView (0.1.11): - - React - - RNDeviceInfo (10.0.2): - - React-Core - - RNGestureHandler (2.5.0): - - React-Core - - RNReanimated (2.9.1): - - 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 - - ReactCommon/turbomodule/core - - Yoga - - RNScreens (3.15.0): - - React-Core - - React-RCTImage - - RNSVG (12.1.1): - - React - - SocketRocket (0.6.0) - - Yoga (1.14.0) - - YogaKit (1.18.1): - - Yoga (~> 1.14) - -DEPENDENCIES: - - boost (from `../node_modules/react-native/third-party-podspecs/boost.podspec`) - - DoubleConversion (from `../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec`) - - FBLazyVector (from `../node_modules/react-native/Libraries/FBLazyVector`) - - FBReactNativeSpec (from `../node_modules/react-native/React/FBReactNativeSpec`) - - Flipper (= 0.125.0) - - Flipper-Boost-iOSX (= 1.76.0.1.11) - - Flipper-DoubleConversion (= 3.2.0.1) - - Flipper-Fmt (= 7.1.7) - - Flipper-Folly (= 2.6.10) - - Flipper-Glog (= 0.5.0.5) - - Flipper-PeerTalk (= 0.0.4) - - Flipper-RSocket (= 1.4.3) - - FlipperKit (= 0.125.0) - - FlipperKit/Core (= 0.125.0) - - FlipperKit/CppBridge (= 0.125.0) - - FlipperKit/FBCxxFollyDynamicConvert (= 0.125.0) - - FlipperKit/FBDefines (= 0.125.0) - - FlipperKit/FKPortForwarding (= 0.125.0) - - FlipperKit/FlipperKitHighlightOverlay (= 0.125.0) - - FlipperKit/FlipperKitLayoutPlugin (= 0.125.0) - - FlipperKit/FlipperKitLayoutTextSearchable (= 0.125.0) - - FlipperKit/FlipperKitNetworkPlugin (= 0.125.0) - - FlipperKit/FlipperKitReactPlugin (= 0.125.0) - - FlipperKit/FlipperKitUserDefaultsPlugin (= 0.125.0) - - FlipperKit/SKIOSNetworkPlugin (= 0.125.0) - - glog (from `../node_modules/react-native/third-party-podspecs/glog.podspec`) - - OpenSSL-Universal (= 1.1.1100) - - 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`) - - React (from `../node_modules/react-native/`) - - React-bridging (from `../node_modules/react-native/ReactCommon`) - - React-callinvoker (from `../node_modules/react-native/ReactCommon/callinvoker`) - - React-Codegen (from `build/generated/ios`) - - React-Core (from `../node_modules/react-native/`) - - React-Core/DevSupport (from `../node_modules/react-native/`) - - React-Core/RCTWebSocket (from `../node_modules/react-native/`) - - React-CoreModules (from `../node_modules/react-native/React/CoreModules`) - - React-cxxreact (from `../node_modules/react-native/ReactCommon/cxxreact`) - - 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-logger (from `../node_modules/react-native/ReactCommon/logger`) - - react-native-safe-area-context (from `../node_modules/react-native-safe-area-context`) - - React-perflogger (from `../node_modules/react-native/ReactCommon/reactperflogger`) - - 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-runtimeexecutor (from `../node_modules/react-native/ReactCommon/runtimeexecutor`) - - ReactCommon/turbomodule/core (from `../node_modules/react-native/ReactCommon`) - - "RNCAsyncStorage (from `../node_modules/@react-native-async-storage/async-storage`)" - - "RNCMaskedView (from `../node_modules/@react-native-community/masked-view`)" - - RNDeviceInfo (from `../node_modules/react-native-device-info`) - - RNGestureHandler (from `../node_modules/react-native-gesture-handler`) - - RNReanimated (from `../node_modules/react-native-reanimated`) - - RNScreens (from `../node_modules/react-native-screens`) - - RNSVG (from `../node_modules/react-native-svg`) - - Yoga (from `../node_modules/react-native/ReactCommon/yoga`) - -SPEC REPOS: - trunk: - - CocoaAsyncSocket - - Flipper - - Flipper-Boost-iOSX - - Flipper-DoubleConversion - - Flipper-Fmt - - Flipper-Folly - - Flipper-Glog - - Flipper-PeerTalk - - Flipper-RSocket - - FlipperKit - - fmt - - libevent - - OpenSSL-Universal - - SocketRocket - - YogaKit - -EXTERNAL SOURCES: - boost: - :podspec: "../node_modules/react-native/third-party-podspecs/boost.podspec" - DoubleConversion: - :podspec: "../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec" - FBLazyVector: - :path: "../node_modules/react-native/Libraries/FBLazyVector" - FBReactNativeSpec: - :path: "../node_modules/react-native/React/FBReactNativeSpec" - glog: - :podspec: "../node_modules/react-native/third-party-podspecs/glog.podspec" - RCT-Folly: - :podspec: "../node_modules/react-native/third-party-podspecs/RCT-Folly.podspec" - RCTRequired: - :path: "../node_modules/react-native/Libraries/RCTRequired" - RCTTypeSafety: - :path: "../node_modules/react-native/Libraries/TypeSafety" - React: - :path: "../node_modules/react-native/" - React-bridging: - :path: "../node_modules/react-native/ReactCommon" - React-callinvoker: - :path: "../node_modules/react-native/ReactCommon/callinvoker" - React-Codegen: - :path: build/generated/ios - React-Core: - :path: "../node_modules/react-native/" - React-CoreModules: - :path: "../node_modules/react-native/React/CoreModules" - React-cxxreact: - :path: "../node_modules/react-native/ReactCommon/cxxreact" - 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-logger: - :path: "../node_modules/react-native/ReactCommon/logger" - react-native-safe-area-context: - :path: "../node_modules/react-native-safe-area-context" - React-perflogger: - :path: "../node_modules/react-native/ReactCommon/reactperflogger" - 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-runtimeexecutor: - :path: "../node_modules/react-native/ReactCommon/runtimeexecutor" - ReactCommon: - :path: "../node_modules/react-native/ReactCommon" - RNCAsyncStorage: - :path: "../node_modules/@react-native-async-storage/async-storage" - RNCMaskedView: - :path: "../node_modules/@react-native-community/masked-view" - RNDeviceInfo: - :path: "../node_modules/react-native-device-info" - RNGestureHandler: - :path: "../node_modules/react-native-gesture-handler" - RNReanimated: - :path: "../node_modules/react-native-reanimated" - RNScreens: - :path: "../node_modules/react-native-screens" - RNSVG: - :path: "../node_modules/react-native-svg" - Yoga: - :path: "../node_modules/react-native/ReactCommon/yoga" - -SPEC CHECKSUMS: - boost: a7c83b31436843459a1961bfd74b96033dc77234 - CocoaAsyncSocket: 065fd1e645c7abab64f7a6a2007a48038fdc6a99 - DoubleConversion: 5189b271737e1565bdce30deb4a08d647e3f5f54 - FBLazyVector: 1d83d91816fa605d16227a83f1b2e71c8df09d22 - FBReactNativeSpec: 626e35e73f83c637ff166f906d584f4c6750c251 - Flipper: 26fc4b7382499f1281eb8cb921e5c3ad6de91fe0 - Flipper-Boost-iOSX: fd1e2b8cbef7e662a122412d7ac5f5bea715403c - Flipper-DoubleConversion: 2dc99b02f658daf147069aad9dbd29d8feb06d30 - Flipper-Fmt: 60cbdd92fc254826e61d669a5d87ef7015396a9b - Flipper-Folly: 584845625005ff068a6ebf41f857f468decd26b3 - Flipper-Glog: 70c50ce58ddaf67dc35180db05f191692570f446 - Flipper-PeerTalk: 116d8f857dc6ef55c7a5a75ea3ceaafe878aadc9 - Flipper-RSocket: d9d9ade67cbecf6ac10730304bf5607266dd2541 - FlipperKit: cbdee19bdd4e7f05472a66ce290f1b729ba3cb86 - fmt: ff9d55029c625d3757ed641535fd4a75fedc7ce9 - glog: 3d02b25ca00c2d456734d0bcff864cbc62f6ae1a - libevent: 4049cae6c81cdb3654a443be001fb9bdceff7913 - OpenSSL-Universal: ebc357f1e6bc71fa463ccb2fe676756aff50e88c - RCT-Folly: b9d9fe1fc70114b751c076104e52f3b1b5e5a95a - RCTRequired: 66822c147facf02f7774af99825e0a31e39df42e - RCTTypeSafety: 309306c4e711b14a83c55c2816a6cc490ec19827 - React: a779632422a918b26db4f1b57225a41c14d20525 - React-bridging: 96055aa45f0417898d7833e251f4ae79d28acef7 - React-callinvoker: 02df4d620df286381ff3f99180fb24feceaf01cc - React-Codegen: 06613a5e753c3af2dca0d6e7dd02944a3d77c3f6 - React-Core: 638d54d64048aa635e7c583fb0d8425206f446b4 - React-CoreModules: f706ec2a1939387517cadc6ce0d2ef0f20fccb53 - React-cxxreact: ec183b7f6fec01e7167f38c1c64a03f68dca7fb2 - React-jsi: ed7dc77f5193dca9c73cec90bfec409e7ddfe401 - React-jsiexecutor: 1842ca163b160aeb224d2c65b2a60c393b273c67 - React-jsinspector: bb2605f98aada5d81f3494690da3ef3b4ff3b716 - React-logger: 23a50ef4c18bf9adbb51e2c979318e6b3a2e44a1 - react-native-safe-area-context: 6c12e3859b6f27b25de4fee8201cfb858432d8de - React-perflogger: 39d2ba8cbcac54d1bb1d9a980dab348e96aef467 - React-RCTActionSheet: b1ad907a2c8f8e4d037148ca507b7f2d6ab1c66d - React-RCTAnimation: 914a9ba46fb6e7376f7709c7ce825d53b47ca2ee - React-RCTBlob: de62fd5edc5c36951f0b113bf252eb43b7131f79 - React-RCTImage: aa0749a8d748b34942c7e71ac5d9f42be8b70cf3 - React-RCTLinking: 595a9f8fbf4d6634bff28d1175b3523b61466612 - React-RCTNetwork: 0559fd0fccb01f89c638baa43c8d185dc8008626 - React-RCTSettings: 8e492a25a62f1ef6323f82ce652ae87fa59c82ca - React-RCTText: 17457cde6ef8832ba43c886baebb6627c5d7ed18 - React-RCTVibration: dd8099eb46e9cee4692934bc8cbe5e9a4f5e8d31 - React-runtimeexecutor: 607eb048e22a16388c908ee1f6644200e8d1e19b - ReactCommon: af7636436b382db7cde4583bbd642f0978e6e3ed - RNCAsyncStorage: d81ee5c3db1060afd49ea7045ad460eff82d2b7d - RNCMaskedView: 0e1bc4bfa8365eba5fbbb71e07fbdc0555249489 - RNDeviceInfo: 0a7c1d2532aa7691f9b9925a27e43af006db4dae - RNGestureHandler: bad495418bcbd3ab47017a38d93d290ebd406f50 - RNReanimated: 2cf7451318bb9cc430abeec8d67693f9cf4e039c - RNScreens: 4a1af06327774490d97342c00aee0c2bafb497b7 - RNSVG: 551acb6562324b1d52a4e0758f7ca0ec234e278f - SocketRocket: fccef3f9c5cedea1353a9ef6ada904fde10d6608 - Yoga: 44c64131616253fa83366295acdbce3d14926041 - YogaKit: f782866e155069a2cca2517aafea43200b01fd5a - -PODFILE CHECKSUM: 513cd8f71c5043647ae45fd07bc9eb3571155580 - -COCOAPODS: 1.11.3 diff --git a/HelloWorld/package.json b/HelloWorld/package.json index 36822465..c13ce422 100644 --- a/HelloWorld/package.json +++ b/HelloWorld/package.json @@ -13,7 +13,7 @@ "lint": "eslint . --ext .js,.jsx,.ts,.tsx" }, "dependencies": { - "@react-native-async-storage/async-storage": "~1.17.7", + "@react-native-async-storage/async-storage": "~1.17.11", "@react-native-community/masked-view": "~0.1.11", "@react-navigation/bottom-tabs": "~6.3.2", "@react-navigation/native": "~6.0.11", @@ -22,8 +22,8 @@ "@rematch/loading": "2.1.2", "@uiw/formatter": "~1.3.3", "@uiw/react-native": "^3.0.4", - "react": "18.0.0", - "react-native": "0.69.3", + "react": "18.1.0", + "react-native": "0.70.5", "react-native-device-info": "~10.0.2", "react-native-gesture-handler": "~2.5.0", "react-native-reanimated": "~2.9.1", @@ -41,10 +41,10 @@ "eslint": "~8.21.0", "eslint-plugin-prettier": "~4.2.1", "jest": "27.2.0", - "metro-react-native-babel-preset": "^0.70.3", + "metro-react-native-babel-preset": "^0.72.3", "mocker-api": "~2.9.5", "prettier": "~2.7.1", - "react-test-renderer": "18.0.0" + "react-test-renderer": "18.1.0" }, "jest": { "preset": "react-native" diff --git a/template/README.md b/template/README.md index 72fa7557..7bc3779f 100644 --- a/template/README.md +++ b/template/README.md @@ -38,6 +38,18 @@ npm uninstall -g react-native-cli Further information can be found here: https://github.com/react-native-community/cli#about + +**🚧🚧 If you wish to not use `react-native@0.70.0` or higher** +[help](https://github.com/facebook/react-native/issues/34608#) +``` +Check whether your ruby version is higher than 2.7.5 +``` + +``` +bundle install +cd ios && bundle exec pod install +``` + **🚧🚧 MacBook Pro with a M1 🚧🚧** ```bash diff --git a/template/template/_flowconfig b/template/template/_flowconfig index 74f3a75e..3782e447 100644 --- a/template/template/_flowconfig +++ b/template/template/_flowconfig @@ -63,4 +63,4 @@ untyped-import untyped-type-import [version] -^0.176.3 +^0.182.0 diff --git a/template/template/_gitignore b/template/template/_gitignore index 344481b2..6f0aeb93 100644 --- a/template/template/_gitignore +++ b/template/template/_gitignore @@ -30,7 +30,7 @@ build/ local.properties *.iml *.hprof - +.cxx/ # node.js # node_modules/ diff --git a/template/template/_node-version b/template/template/_node-version new file mode 100644 index 00000000..19c7bdba --- /dev/null +++ b/template/template/_node-version @@ -0,0 +1 @@ +16 \ No newline at end of file diff --git a/template/template/android/app/build.gradle b/template/template/android/app/build.gradle index 3081a1f2..608db2ce 100644 --- a/template/template/android/app/build.gradle +++ b/template/template/android/app/build.gradle @@ -1,6 +1,6 @@ apply plugin: "com.android.application" - import com.android.build.OutputFile +import org.apache.tools.ant.taskdefs.condition.Os /** * The react.gradle file registers a task for each build variant (e.g. bundleDebugJsAndAssets @@ -78,7 +78,7 @@ import com.android.build.OutputFile */ project.ext.react = [ - enableHermes: false, // clean and rebuild if changing + enableHermes: true, // clean and rebuild if changing ] apply from: "../../node_modules/react-native/react.gradle" @@ -142,22 +142,14 @@ android { buildConfigField "boolean", "IS_NEW_ARCHITECTURE_ENABLED", isNewArchitectureEnabled().toString() if (isNewArchitectureEnabled()) { - // We configure the NDK build only if you decide to opt-in for the New Architecture. + // We configure the CMake build only if you decide to opt-in for the New Architecture. externalNativeBuild { - ndkBuild { - arguments "APP_PLATFORM=android-21", - "APP_STL=c++_shared", - "NDK_TOOLCHAIN_VERSION=clang", - "GENERATED_SRC_DIR=$buildDir/generated/source", - "PROJECT_BUILD_DIR=$buildDir", - "REACT_ANDROID_DIR=$rootDir/../node_modules/react-native/ReactAndroid", - "REACT_ANDROID_BUILD_DIR=$rootDir/../node_modules/react-native/ReactAndroid/build", - "NODE_MODULES_DIR=$rootDir/../node_modules" - cFlags "-Wall", "-Werror", "-fexceptions", "-frtti", "-DWITH_INSPECTOR=1" - cppFlags "-std=c++17" - // Make sure this target name is the same you specify inside the - // src/main/jni/Android.mk file for the `LOCAL_MODULE` variable. - targets "helloworld_appmodules" + cmake { + arguments "-DPROJECT_BUILD_DIR=$buildDir", + "-DREACT_ANDROID_DIR=$rootDir/../node_modules/react-native/ReactAndroid", + "-DREACT_ANDROID_BUILD_DIR=$rootDir/../node_modules/react-native/ReactAndroid/build", + "-DNODE_MODULES_DIR=$rootDir/../node_modules", + "-DANDROID_STL=c++_shared" } } if (!enableSeparateBuildPerCPUArchitecture) { @@ -171,8 +163,8 @@ android { if (isNewArchitectureEnabled()) { // We configure the NDK build only if you decide to opt-in for the New Architecture. externalNativeBuild { - ndkBuild { - path "$projectDir/src/main/jni/Android.mk" + cmake { + path "$projectDir/src/main/jni/CMakeLists.txt" } } def reactAndroidProjectDir = project(':ReactAndroid').projectDir @@ -194,15 +186,15 @@ android { preReleaseBuild.dependsOn(packageReactNdkReleaseLibs) // Due to a bug inside AGP, we have to explicitly set a dependency - // between configureNdkBuild* tasks and the preBuild tasks. + // between configureCMakeDebug* tasks and the preBuild tasks. // This can be removed once this is solved: https://issuetracker.google.com/issues/207403732 - configureNdkBuildRelease.dependsOn(preReleaseBuild) - configureNdkBuildDebug.dependsOn(preDebugBuild) + configureCMakeRelWithDebInfo.dependsOn(preReleaseBuild) + configureCMakeDebug.dependsOn(preDebugBuild) reactNativeArchitectures().each { architecture -> - tasks.findByName("configureNdkBuildDebug[${architecture}]")?.configure { + tasks.findByName("configureCMakeDebug[${architecture}]")?.configure { dependsOn("preDebugBuild") } - tasks.findByName("configureNdkBuildRelease[${architecture}]")?.configure { + tasks.findByName("configureCMakeRelWithDebInfo[${architecture}]")?.configure { dependsOn("preReleaseBuild") } } diff --git a/template/template/android/app/src/main/jni/Android.mk b/template/template/android/app/src/main/jni/Android.mk deleted file mode 100644 index cda13912..00000000 --- a/template/template/android/app/src/main/jni/Android.mk +++ /dev/null @@ -1,48 +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 := helloworld_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_runtime \ - 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) diff --git a/template/template/android/app/src/main/jni/CMakeLists.txt b/template/template/android/app/src/main/jni/CMakeLists.txt new file mode 100644 index 00000000..e5be16f0 --- /dev/null +++ b/template/template/android/app/src/main/jni/CMakeLists.txt @@ -0,0 +1,5 @@ +cmake_minimum_required(VERSION 3.13) +# Define the library name here. +project(rndiffapp_appmodules) +# This file includes all the necessary to let you build your application with the New Architecture. +include(${REACT_ANDROID_DIR}/cmake-utils/ReactNative-application.cmake) \ No newline at end of file diff --git a/template/template/android/app/src/main/jni/MainApplicationModuleProvider.cpp b/template/template/android/app/src/main/jni/MainApplicationModuleProvider.cpp index 0ac23cc6..340b97c7 100644 --- a/template/template/android/app/src/main/jni/MainApplicationModuleProvider.cpp +++ b/template/template/android/app/src/main/jni/MainApplicationModuleProvider.cpp @@ -1,12 +1,13 @@ #include "MainApplicationModuleProvider.h" +#include #include namespace facebook { namespace react { std::shared_ptr MainApplicationModuleProvider( - const std::string moduleName, + const std::string &moduleName, const JavaTurboModule::InitParams ¶ms) { // Here you can provide your own module provider for TurboModules coming from // either your application or from external libraries. The approach to follow @@ -17,6 +18,12 @@ std::shared_ptr MainApplicationModuleProvider( // return module; // } // return rncore_ModuleProvider(moduleName, params); + + // Module providers autolinked by RN CLI + auto rncli_module = rncli_ModuleProvider(moduleName, params); + if (rncli_module != nullptr) { + return rncli_module; + } return rncore_ModuleProvider(moduleName, params); } diff --git a/template/template/android/app/src/main/jni/MainApplicationModuleProvider.h b/template/template/android/app/src/main/jni/MainApplicationModuleProvider.h index 0fa43fa6..b38ccf53 100644 --- a/template/template/android/app/src/main/jni/MainApplicationModuleProvider.h +++ b/template/template/android/app/src/main/jni/MainApplicationModuleProvider.h @@ -9,7 +9,7 @@ namespace facebook { namespace react { std::shared_ptr MainApplicationModuleProvider( - const std::string moduleName, + const std::string &moduleName, const JavaTurboModule::InitParams ¶ms); } // namespace react diff --git a/template/template/android/app/src/main/jni/MainApplicationTurboModuleManagerDelegate.cpp b/template/template/android/app/src/main/jni/MainApplicationTurboModuleManagerDelegate.cpp index dbbdc3d1..5fd688c5 100644 --- a/template/template/android/app/src/main/jni/MainApplicationTurboModuleManagerDelegate.cpp +++ b/template/template/android/app/src/main/jni/MainApplicationTurboModuleManagerDelegate.cpp @@ -22,21 +22,21 @@ void MainApplicationTurboModuleManagerDelegate::registerNatives() { std::shared_ptr MainApplicationTurboModuleManagerDelegate::getTurboModule( - const std::string name, - const std::shared_ptr jsInvoker) { + const std::string &name, + const std::shared_ptr &jsInvoker) { // Not implemented yet: provide pure-C++ NativeModules here. return nullptr; } std::shared_ptr MainApplicationTurboModuleManagerDelegate::getTurboModule( - const std::string name, + const std::string &name, const JavaTurboModule::InitParams ¶ms) { return MainApplicationModuleProvider(name, params); } bool MainApplicationTurboModuleManagerDelegate::canCreateTurboModule( - std::string name) { + const std::string &name) { return getTurboModule(name, nullptr) != nullptr || getTurboModule(name, {.moduleName = name}) != nullptr; } diff --git a/template/template/android/app/src/main/jni/MainApplicationTurboModuleManagerDelegate.h b/template/template/android/app/src/main/jni/MainApplicationTurboModuleManagerDelegate.h index 25f27722..9ee38a81 100644 --- a/template/template/android/app/src/main/jni/MainApplicationTurboModuleManagerDelegate.h +++ b/template/template/android/app/src/main/jni/MainApplicationTurboModuleManagerDelegate.h @@ -21,17 +21,17 @@ class MainApplicationTurboModuleManagerDelegate static void registerNatives(); std::shared_ptr getTurboModule( - const std::string name, - const std::shared_ptr jsInvoker) override; + const std::string &name, + const std::shared_ptr &jsInvoker) override; std::shared_ptr getTurboModule( - const std::string name, + const std::string &name, const JavaTurboModule::InitParams ¶ms) override; /** * Test-only method. Allows user to verify whether a TurboModule can be * created by instances of this class. */ - bool canCreateTurboModule(std::string name); + bool canCreateTurboModule(const std::string &name); }; } // namespace react diff --git a/template/template/android/app/src/main/jni/MainComponentsRegistry.cpp b/template/template/android/app/src/main/jni/MainComponentsRegistry.cpp index 8f7edffd..055bafdd 100644 --- a/template/template/android/app/src/main/jni/MainComponentsRegistry.cpp +++ b/template/template/android/app/src/main/jni/MainComponentsRegistry.cpp @@ -3,7 +3,7 @@ #include #include #include -#include +#include namespace facebook { namespace react { @@ -14,6 +14,9 @@ std::shared_ptr MainComponentsRegistry::sharedProviderRegistry() { auto providerRegistry = CoreComponentsRegistry::sharedProviderRegistry(); + // Autolinked providers registered by RN CLI + rncli_registerProviders(providerRegistry); + // Custom Fabric Components go here. You can register custom // components coming from your App or from 3rd party libraries here. // diff --git a/template/template/android/build.gradle b/template/template/android/build.gradle index c9bc539d..8569fee3 100644 --- a/template/template/android/build.gradle +++ b/template/template/android/build.gradle @@ -1,5 +1,3 @@ -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 { @@ -22,7 +20,7 @@ buildscript { mavenCentral() } dependencies { - classpath("com.android.tools.build:gradle:7.1.1") + classpath("com.android.tools.build:gradle:7.2.1") classpath("com.facebook.react:react-native-gradle-plugin") classpath("de.undercouch:gradle-download-task:5.0.1") // NOTE: Do not place your application dependencies here; they belong diff --git a/template/template/android/gradle/wrapper/gradle-wrapper.jar b/template/template/android/gradle/wrapper/gradle-wrapper.jar index 7454180f..41d9927a 100644 Binary files a/template/template/android/gradle/wrapper/gradle-wrapper.jar and b/template/template/android/gradle/wrapper/gradle-wrapper.jar differ diff --git a/template/template/android/gradle/wrapper/gradle-wrapper.properties b/template/template/android/gradle/wrapper/gradle-wrapper.properties index 669386b8..8fad3f5a 100644 --- a/template/template/android/gradle/wrapper/gradle-wrapper.properties +++ b/template/template/android/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.3.3-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-7.5.1-all.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/template/template/ios/HelloWorld.xcodeproj/project.pbxproj b/template/template/ios/HelloWorld.xcodeproj/project.pbxproj index 3c5189ff..f6a7d83e 100644 --- a/template/template/ios/HelloWorld.xcodeproj/project.pbxproj +++ b/template/template/ios/HelloWorld.xcodeproj/project.pbxproj @@ -8,12 +8,12 @@ /* Begin PBXBuildFile section */ 00E356F31AD99517003FC87E /* HelloWorldTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 00E356F21AD99517003FC87E /* HelloWorldTests.m */; }; - 13B07FBC1A68108700A75B9A /* AppDelegate.mm in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB01A68108700A75B9A /* AppDelegate.mm */; }; + 0C80B921A6F3F58F76C31292 /* libPods-HelloWorld.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 5DCACB8F33CDC322A6C60F78 /* libPods-HelloWorld.a */; }; + 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 */; }; - 2F752B00D8A9DCB96911645B /* libPods-HelloWorld-HelloWorldTests.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 6FA604D78B9250B9C744BC91 /* libPods-HelloWorld-HelloWorldTests.a */; }; + 7699B88040F8A987B510C191 /* libPods-HelloWorld-HelloWorldTests.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 19F6CBCC0A4E27FBF8BF4A61 /* libPods-HelloWorld-HelloWorldTests.a */; }; 81AB9BB82411601600AC10FF /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 81AB9BB72411601600AC10FF /* LaunchScreen.storyboard */; }; - FA5C3CD43F1DAECE9ACB5B99 /* libPods-HelloWorld.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 90D6F9EE8BD25235514F0121 /* libPods-HelloWorld.a */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -30,19 +30,19 @@ 00E356EE1AD99517003FC87E /* HelloWorldTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = HelloWorldTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; 00E356F11AD99517003FC87E /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 00E356F21AD99517003FC87E /* HelloWorldTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = HelloWorldTests.m; sourceTree = ""; }; - 0BB6F859E7AD9D801C2EFD21 /* Pods-HelloWorld.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-HelloWorld.release.xcconfig"; path = "Target Support Files/Pods-HelloWorld/Pods-HelloWorld.release.xcconfig"; sourceTree = ""; }; 13B07F961A680F5B00A75B9A /* HelloWorld.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = HelloWorld.app; sourceTree = BUILT_PRODUCTS_DIR; }; 13B07FAF1A68108700A75B9A /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AppDelegate.h; path = HelloWorld/AppDelegate.h; sourceTree = ""; }; - 13B07FB01A68108700A75B9A /* AppDelegate.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = AppDelegate.mm ; path = HelloWorld/AppDelegate.mm ; sourceTree = ""; }; + 13B07FB01A68108700A75B9A /* AppDelegate.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = AppDelegate.mm; path = HelloWorld/AppDelegate.mm; sourceTree = ""; }; 13B07FB51A68108700A75B9A /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Images.xcassets; path = HelloWorld/Images.xcassets; sourceTree = ""; }; 13B07FB61A68108700A75B9A /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = Info.plist; path = HelloWorld/Info.plist; sourceTree = ""; }; 13B07FB71A68108700A75B9A /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = main.m; path = HelloWorld/main.m; sourceTree = ""; }; - 65E59E2D1860658F7134E3BC /* Pods-HelloWorld.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-HelloWorld.debug.xcconfig"; path = "Target Support Files/Pods-HelloWorld/Pods-HelloWorld.debug.xcconfig"; sourceTree = ""; }; - 6FA604D78B9250B9C744BC91 /* libPods-HelloWorld-HelloWorldTests.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-HelloWorld-HelloWorldTests.a"; sourceTree = BUILT_PRODUCTS_DIR; }; + 19F6CBCC0A4E27FBF8BF4A61 /* libPods-HelloWorld-HelloWorldTests.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-HelloWorld-HelloWorldTests.a"; sourceTree = BUILT_PRODUCTS_DIR; }; + 3B4392A12AC88292D35C810B /* Pods-HelloWorld.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-HelloWorld.debug.xcconfig"; path = "Target Support Files/Pods-HelloWorld/Pods-HelloWorld.debug.xcconfig"; sourceTree = ""; }; + 5709B34CF0A7D63546082F79 /* Pods-HelloWorld.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-HelloWorld.release.xcconfig"; path = "Target Support Files/Pods-HelloWorld/Pods-HelloWorld.release.xcconfig"; sourceTree = ""; }; + 5B7EB9410499542E8C5724F5 /* Pods-HelloWorld-HelloWorldTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-HelloWorld-HelloWorldTests.debug.xcconfig"; path = "Target Support Files/Pods-HelloWorld-HelloWorldTests/Pods-HelloWorld-HelloWorldTests.debug.xcconfig"; sourceTree = ""; }; + 5DCACB8F33CDC322A6C60F78 /* libPods-HelloWorld.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-HelloWorld.a"; sourceTree = BUILT_PRODUCTS_DIR; }; 81AB9BB72411601600AC10FF /* LaunchScreen.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; name = LaunchScreen.storyboard; path = HelloWorld/LaunchScreen.storyboard; sourceTree = ""; }; - 87701BAC4E3851E623834D7D /* Pods-HelloWorld-HelloWorldTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-HelloWorld-HelloWorldTests.debug.xcconfig"; path = "Target Support Files/Pods-HelloWorld-HelloWorldTests/Pods-HelloWorld-HelloWorldTests.debug.xcconfig"; sourceTree = ""; }; - 90D6F9EE8BD25235514F0121 /* libPods-HelloWorld.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-HelloWorld.a"; sourceTree = BUILT_PRODUCTS_DIR; }; - D15037DB40B0ACCB2D64FD80 /* Pods-HelloWorld-HelloWorldTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-HelloWorld-HelloWorldTests.release.xcconfig"; path = "Target Support Files/Pods-HelloWorld-HelloWorldTests/Pods-HelloWorld-HelloWorldTests.release.xcconfig"; sourceTree = ""; }; + 89C6BE57DB24E9ADA2F236DE /* Pods-HelloWorld-HelloWorldTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-HelloWorld-HelloWorldTests.release.xcconfig"; path = "Target Support Files/Pods-HelloWorld-HelloWorldTests/Pods-HelloWorld-HelloWorldTests.release.xcconfig"; sourceTree = ""; }; ED297162215061F000B7C4FE /* JavaScriptCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = JavaScriptCore.framework; path = System/Library/Frameworks/JavaScriptCore.framework; sourceTree = SDKROOT; }; /* End PBXFileReference section */ @@ -51,7 +51,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 2F752B00D8A9DCB96911645B /* libPods-HelloWorld-HelloWorldTests.a in Frameworks */, + 7699B88040F8A987B510C191 /* libPods-HelloWorld-HelloWorldTests.a in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -59,7 +59,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - FA5C3CD43F1DAECE9ACB5B99 /* libPods-HelloWorld.a in Frameworks */, + 0C80B921A6F3F58F76C31292 /* libPods-HelloWorld.a in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -87,7 +87,7 @@ isa = PBXGroup; children = ( 13B07FAF1A68108700A75B9A /* AppDelegate.h */, - 13B07FB01A68108700A75B9A /* AppDelegate.mm */, + 13B07FB01A68108700A75B9A /* AppDelegate.mm */, 13B07FB51A68108700A75B9A /* Images.xcassets */, 13B07FB61A68108700A75B9A /* Info.plist */, 81AB9BB72411601600AC10FF /* LaunchScreen.storyboard */, @@ -96,24 +96,12 @@ name = HelloWorld; sourceTree = ""; }; - 27D0D7FE2E4ECCB8238813EE /* Pods */ = { - isa = PBXGroup; - children = ( - 65E59E2D1860658F7134E3BC /* Pods-HelloWorld.debug.xcconfig */, - 0BB6F859E7AD9D801C2EFD21 /* Pods-HelloWorld.release.xcconfig */, - 87701BAC4E3851E623834D7D /* Pods-HelloWorld-HelloWorldTests.debug.xcconfig */, - D15037DB40B0ACCB2D64FD80 /* Pods-HelloWorld-HelloWorldTests.release.xcconfig */, - ); - name = Pods; - path = Pods; - sourceTree = ""; - }; 2D16E6871FA4F8E400B85C8A /* Frameworks */ = { isa = PBXGroup; children = ( ED297162215061F000B7C4FE /* JavaScriptCore.framework */, - 90D6F9EE8BD25235514F0121 /* libPods-HelloWorld.a */, - 6FA604D78B9250B9C744BC91 /* libPods-HelloWorld-HelloWorldTests.a */, + 5DCACB8F33CDC322A6C60F78 /* libPods-HelloWorld.a */, + 19F6CBCC0A4E27FBF8BF4A61 /* libPods-HelloWorld-HelloWorldTests.a */, ); name = Frameworks; sourceTree = ""; @@ -133,7 +121,7 @@ 00E356EF1AD99517003FC87E /* HelloWorldTests */, 83CBBA001A601CBA00E9B192 /* Products */, 2D16E6871FA4F8E400B85C8A /* Frameworks */, - 27D0D7FE2E4ECCB8238813EE /* Pods */, + BBD78D7AC51CEA395F1C20DB /* Pods */, ); indentWidth = 2; sourceTree = ""; @@ -167,12 +155,12 @@ isa = PBXNativeTarget; buildConfigurationList = 00E357021AD99517003FC87E /* Build configuration list for PBXNativeTarget "HelloWorldTests" */; buildPhases = ( - AC9717B06F85C58432A3EB23 /* [CP] Check Pods Manifest.lock */, + A55EABD7B0C7F3A422A6CC61 /* [CP] Check Pods Manifest.lock */, 00E356EA1AD99517003FC87E /* Sources */, 00E356EB1AD99517003FC87E /* Frameworks */, 00E356EC1AD99517003FC87E /* Resources */, - AF16A3CF8FD7A5591ADE2027 /* [CP] Embed Pods Frameworks */, - C20F63D6D9F4AA2B41BF1395 /* [CP] Copy Pods Resources */, + C59DA0FBD6956966B86A3779 /* [CP] Embed Pods Frameworks */, + F6A41C54EA430FDDC6A6ED99 /* [CP] Copy Pods Resources */, ); buildRules = ( ); @@ -188,14 +176,14 @@ isa = PBXNativeTarget; buildConfigurationList = 13B07F931A680F5B00A75B9A /* Build configuration list for PBXNativeTarget "HelloWorld" */; buildPhases = ( - 91FBE4E2DA483B0ECF42A272 /* [CP] Check Pods Manifest.lock */, + C38B50BA6285516D6DCD4F65 /* [CP] Check Pods Manifest.lock */, FD10A7F022414F080027D42C /* Start Packager */, 13B07F871A680F5B00A75B9A /* Sources */, 13B07F8C1A680F5B00A75B9A /* Frameworks */, 13B07F8E1A680F5B00A75B9A /* Resources */, 00DD1BFF1BD5951E006B06BC /* Bundle React Native code and images */, - 8EC801523F11FCE50849ADB7 /* [CP] Embed Pods Frameworks */, - AA30A97098D91519DFBC47E8 /* [CP] Copy Pods Resources */, + 00EEFC60759A1932668264C0 /* [CP] Embed Pods Frameworks */, + E235C05ADACE081382539298 /* [CP] Copy Pods Resources */, ); buildRules = ( ); @@ -278,7 +266,7 @@ 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"; }; - 8EC801523F11FCE50849ADB7 /* [CP] Embed Pods Frameworks */ = { + 00EEFC60759A1932668264C0 /* [CP] Embed Pods Frameworks */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -295,7 +283,7 @@ shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-HelloWorld/Pods-HelloWorld-frameworks.sh\"\n"; showEnvVarsInLog = 0; }; - 91FBE4E2DA483B0ECF42A272 /* [CP] Check Pods Manifest.lock */ = { + A55EABD7B0C7F3A422A6CC61 /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -317,7 +305,7 @@ 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; }; - AA30A97098D91519DFBC47E8 /* [CP] Copy Pods Resources */ = { + C38B50BA6285516D6DCD4F65 /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -339,46 +327,41 @@ 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; }; - AC9717B06F85C58432A3EB23 /* [CP] Check Pods Manifest.lock */ = { + C59DA0FBD6956966B86A3779 /* [CP] Embed Pods Frameworks */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-HelloWorld-HelloWorldTests/Pods-HelloWorld-HelloWorldTests-frameworks-${CONFIGURATION}-input-files.xcfilelist", ); - inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", - ); - name = "[CP] Check Pods Manifest.lock"; + name = "[CP] Embed Pods Frameworks"; outputFileListPaths = ( - ); - outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-HelloWorld-HelloWorldTests-checkManifestLockResult.txt", + "${PODS_ROOT}/Target Support Files/Pods-HelloWorld-HelloWorldTests/Pods-HelloWorld-HelloWorldTests-frameworks-${CONFIGURATION}-output-files.xcfilelist", ); 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"; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-HelloWorld-HelloWorldTests/Pods-HelloWorld-HelloWorldTests-frameworks.sh\"\n"; showEnvVarsInLog = 0; }; - AF16A3CF8FD7A5591ADE2027 /* [CP] Embed Pods Frameworks */ = { + E235C05ADACE081382539298 /* [CP] Copy Pods Resources */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-HelloWorld-HelloWorldTests/Pods-HelloWorld-HelloWorldTests-frameworks-${CONFIGURATION}-input-files.xcfilelist", + "${PODS_ROOT}/Target Support Files/Pods-HelloWorld/Pods-HelloWorld-resources-${CONFIGURATION}-input-files.xcfilelist", ); - name = "[CP] Embed Pods Frameworks"; + name = "[CP] Copy Pods Resources"; outputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-HelloWorld-HelloWorldTests/Pods-HelloWorld-HelloWorldTests-frameworks-${CONFIGURATION}-output-files.xcfilelist", + "${PODS_ROOT}/Target Support Files/Pods-HelloWorld/Pods-HelloWorld-resources-${CONFIGURATION}-output-files.xcfilelist", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-HelloWorld-HelloWorldTests/Pods-HelloWorld-HelloWorldTests-frameworks.sh\"\n"; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-HelloWorld/Pods-HelloWorld-resources.sh\"\n"; showEnvVarsInLog = 0; }; - C20F63D6D9F4AA2B41BF1395 /* [CP] Copy Pods Resources */ = { + F6A41C54EA430FDDC6A6ED99 /* [CP] Copy Pods Resources */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -429,7 +412,7 @@ isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 13B07FBC1A68108700A75B9A /* AppDelegate.mm in Sources */, + 13B07FBC1A68108700A75B9A /* AppDelegate.mm in Sources */, 13B07FC11A68108700A75B9A /* main.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; @@ -447,7 +430,7 @@ /* Begin XCBuildConfiguration section */ 00E356F61AD99517003FC87E /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 87701BAC4E3851E623834D7D /* Pods-HelloWorld-HelloWorldTests.debug.xcconfig */; + baseConfigurationReference = 5B7EB9410499542E8C5724F5 /* Pods-HelloWorld-HelloWorldTests.debug.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; GCC_PREPROCESSOR_DEFINITIONS = ( @@ -474,7 +457,7 @@ }; 00E356F71AD99517003FC87E /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = D15037DB40B0ACCB2D64FD80 /* Pods-HelloWorld-HelloWorldTests.release.xcconfig */; + baseConfigurationReference = 89C6BE57DB24E9ADA2F236DE /* Pods-HelloWorld-HelloWorldTests.release.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; COPY_PHASE_STRIP = NO; @@ -498,13 +481,14 @@ }; 13B07F941A680F5B00A75B9A /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 65E59E2D1860658F7134E3BC /* Pods-HelloWorld.debug.xcconfig */; + baseConfigurationReference = 3B4392A12AC88292D35C810B /* Pods-HelloWorld.debug.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; CURRENT_PROJECT_VERSION = 1; ENABLE_BITCODE = NO; INFOPLIST_FILE = HelloWorld/Info.plist; + IPHONEOS_DEPLOYMENT_TARGET = 12.4; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", @@ -524,12 +508,13 @@ }; 13B07F951A680F5B00A75B9A /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 0BB6F859E7AD9D801C2EFD21 /* Pods-HelloWorld.release.xcconfig */; + baseConfigurationReference = 5709B34CF0A7D63546082F79 /* Pods-HelloWorld.release.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; CURRENT_PROJECT_VERSION = 1; INFOPLIST_FILE = HelloWorld/Info.plist; + IPHONEOS_DEPLOYMENT_TARGET = 12.4; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", @@ -579,7 +564,7 @@ COPY_PHASE_STRIP = NO; ENABLE_STRICT_OBJC_MSGSEND = YES; ENABLE_TESTABILITY = YES; - "EXCLUDED_ARCHS[sdk=iphonesimulator*]" = ""; + "EXCLUDED_ARCHS[sdk=iphonesimulator*]" = i386; GCC_C_LANGUAGE_STANDARD = gnu99; GCC_DYNAMIC_NO_PIC = NO; GCC_NO_COMMON_BLOCKS = YES; @@ -595,7 +580,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 12.4; + IPHONEOS_DEPLOYMENT_TARGET = 16.1; LD_RUNPATH_SEARCH_PATHS = ( /usr/lib/swift, "$(inherited)", @@ -607,7 +592,12 @@ ); MTL_ENABLE_DEBUG_INFO = YES; ONLY_ACTIVE_ARCH = YES; - REACT_NATIVE_PATH = "${PODS_ROOT}/../../node_modules/react-native"; + OTHER_CPLUSPLUSFLAGS = ( + "$(OTHER_CFLAGS)", + "-DFOLLY_NO_CONFIG", + "-DFOLLY_MOBILE=1", + "-DFOLLY_USE_LIBCPP=1", + ); SDKROOT = iphoneos; }; name = Debug; @@ -645,7 +635,7 @@ COPY_PHASE_STRIP = YES; ENABLE_NS_ASSERTIONS = NO; ENABLE_STRICT_OBJC_MSGSEND = YES; - "EXCLUDED_ARCHS[sdk=iphonesimulator*]" = ""; + "EXCLUDED_ARCHS[sdk=iphonesimulator*]" = i386; GCC_C_LANGUAGE_STANDARD = gnu99; GCC_NO_COMMON_BLOCKS = YES; GCC_WARN_64_TO_32_BIT_CONVERSION = YES; @@ -654,7 +644,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 12.4; + IPHONEOS_DEPLOYMENT_TARGET = 16.1; LD_RUNPATH_SEARCH_PATHS = ( /usr/lib/swift, "$(inherited)", @@ -665,7 +655,12 @@ "\"$(inherited)\"", ); MTL_ENABLE_DEBUG_INFO = NO; - REACT_NATIVE_PATH = "${PODS_ROOT}/../../node_modules/react-native"; + OTHER_CPLUSPLUSFLAGS = ( + "$(OTHER_CFLAGS)", + "-DFOLLY_NO_CONFIG", + "-DFOLLY_MOBILE=1", + "-DFOLLY_USE_LIBCPP=1", + ); SDKROOT = iphoneos; VALIDATE_PRODUCT = YES; }; diff --git a/template/template/ios/Podfile b/template/template/ios/Podfile index 9db01679..5567e68b 100644 --- a/template/template/ios/Podfile +++ b/template/template/ios/Podfile @@ -3,11 +3,8 @@ require_relative '../node_modules/@react-native-community/cli-platform-ios/nativ platform :ios, '12.4' install! 'cocoapods', :deterministic_uuids => false -<<<<<<< HEAD -======= production = ENV["PRODUCTION"] == "1" ->>>>>>> 52c0c77 (feat(example): Upgrade react native to v0.69.3) target 'HelloWorld' do config = use_native_modules! @@ -17,10 +14,15 @@ target 'HelloWorld' do use_react_native!( :path => config[:reactNativePath], - # to enable hermes on iOS, change `false` to `true` and then install pods - :production => production, - :hermes_enabled => flags[:hermes_enabled], + # 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 => true, :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 => FlipperConfiguration.enabled, # An absolute path to your application root. :app_path => "#{Pod::Config.instance.installation_root}/.." @@ -32,7 +34,12 @@ target 'HelloWorld' do end post_install do |installer| - react_native_post_install(installer) + react_native_post_install( + installer, + # 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) end end diff --git a/template/template/package.json b/template/template/package.json index 36822465..c13ce422 100644 --- a/template/template/package.json +++ b/template/template/package.json @@ -13,7 +13,7 @@ "lint": "eslint . --ext .js,.jsx,.ts,.tsx" }, "dependencies": { - "@react-native-async-storage/async-storage": "~1.17.7", + "@react-native-async-storage/async-storage": "~1.17.11", "@react-native-community/masked-view": "~0.1.11", "@react-navigation/bottom-tabs": "~6.3.2", "@react-navigation/native": "~6.0.11", @@ -22,8 +22,8 @@ "@rematch/loading": "2.1.2", "@uiw/formatter": "~1.3.3", "@uiw/react-native": "^3.0.4", - "react": "18.0.0", - "react-native": "0.69.3", + "react": "18.1.0", + "react-native": "0.70.5", "react-native-device-info": "~10.0.2", "react-native-gesture-handler": "~2.5.0", "react-native-reanimated": "~2.9.1", @@ -41,10 +41,10 @@ "eslint": "~8.21.0", "eslint-plugin-prettier": "~4.2.1", "jest": "27.2.0", - "metro-react-native-babel-preset": "^0.70.3", + "metro-react-native-babel-preset": "^0.72.3", "mocker-api": "~2.9.5", "prettier": "~2.7.1", - "react-test-renderer": "18.0.0" + "react-test-renderer": "18.1.0" }, "jest": { "preset": "react-native"