diff --git a/bun.lockb b/bun.lockb index b6eed591..3cdd8307 100755 Binary files a/bun.lockb and b/bun.lockb differ diff --git a/example/ios/Podfile b/example/ios/Podfile index 5c45d135..dcc6051c 100644 --- a/example/ios/Podfile +++ b/example/ios/Podfile @@ -33,5 +33,12 @@ target 'QuickCryptoExample' do :mac_catalyst_enabled => false, # :ccache_enabled => true ) + + # https://github.com/mrousavy/nitro/issues/422#issuecomment-2545988256 + installer.pods_project.targets.each do |target| + target.build_configurations.each do |config| + config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '16.0' + end + end end end diff --git a/example/ios/Podfile.lock b/example/ios/Podfile.lock index 554abe7a..64bc72c8 100644 --- a/example/ios/Podfile.lock +++ b/example/ios/Podfile.lock @@ -40,12 +40,14 @@ PODS: - RCT-Folly (= 2024.01.01.00) - RCTRequired - RCTTypeSafety + - React-callinvoker - React-Core - React-debug - React-Fabric - React-featureflags - React-graphics - React-ImageManager + - React-jsi - React-NativeModulesApple - React-RCTFabric - React-rendererdebug @@ -1940,7 +1942,7 @@ SPEC CHECKSUMS: hermes-engine: 46f1ffbf0297f4298862068dd4c274d4ac17a1fd NitroModules: 3a58d9bc70815a0d5de4476ed6a36eff05a6a0ae OpenSSL-Universal: b60a3702c9fea8b3145549d421fdb018e53ab7b4 - QuickCrypto: 9db9b8128d72cfa9b8a355e78d1f5b64eeac35e4 + QuickCrypto: 729fb68e1c5dffd92f47db0098e3d3a93433f2d8 RCT-Folly: 84578c8756030547307e4572ab1947de1685c599 RCTDeprecation: fde92935b3caa6cb65cbff9fbb7d3a9867ffb259 RCTRequired: 75c6cee42d21c1530a6f204ba32ff57335d19007 @@ -2004,6 +2006,6 @@ SPEC CHECKSUMS: SocketRocket: d4aabe649be1e368d1318fdf28a022d714d65748 Yoga: db69236006b8b1c6d55ab453390c882306cbf219 -PODFILE CHECKSUM: 684599d0e4b0f60fab3a5ad6c896bb5e77f7b4f2 +PODFILE CHECKSUM: bcfd7840a8f657993e5e9504fdac2d1397cbc14a COCOAPODS: 1.15.2 diff --git a/example/ios/QuickCryptoExample.xcodeproj/project.pbxproj b/example/ios/QuickCryptoExample.xcodeproj/project.pbxproj index 77591365..064acc32 100644 --- a/example/ios/QuickCryptoExample.xcodeproj/project.pbxproj +++ b/example/ios/QuickCryptoExample.xcodeproj/project.pbxproj @@ -7,11 +7,11 @@ objects = { /* Begin PBXBuildFile section */ - 0C80B921A6F3F58F76C31292 /* libPods-QuickCryptoExample.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 5DCACB8F33CDC322A6C60F78 /* libPods-QuickCryptoExample.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 */; }; 81AB9BB82411601600AC10FF /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 81AB9BB72411601600AC10FF /* LaunchScreen.storyboard */; }; + E2573AAA37E1A3A99DF5551D /* libPods-QuickCryptoExample.a in Frameworks */ = {isa = PBXBuildFile; fileRef = F26BC0CBF1EA56237A94D44D /* libPods-QuickCryptoExample.a */; }; F79205B082B213F0B2028CDB /* PrivacyInfo.xcprivacy in Resources */ = {isa = PBXBuildFile; fileRef = 58F74FD0ACBE81B6473252E5 /* PrivacyInfo.xcprivacy */; }; /* End PBXBuildFile section */ @@ -28,10 +28,10 @@ 3B4392A12AC88292D35C810B /* Pods-QuickCryptoExample.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-QuickCryptoExample.debug.xcconfig"; path = "Target Support Files/Pods-QuickCryptoExample/Pods-QuickCryptoExample.debug.xcconfig"; sourceTree = ""; }; 5709B34CF0A7D63546082F79 /* Pods-QuickCryptoExample.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-QuickCryptoExample.release.xcconfig"; path = "Target Support Files/Pods-QuickCryptoExample/Pods-QuickCryptoExample.release.xcconfig"; sourceTree = ""; }; 58F74FD0ACBE81B6473252E5 /* PrivacyInfo.xcprivacy */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xml; name = PrivacyInfo.xcprivacy; path = QuickCryptoExample/PrivacyInfo.xcprivacy; sourceTree = ""; }; - 5DCACB8F33CDC322A6C60F78 /* libPods-QuickCryptoExample.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-QuickCryptoExample.a"; sourceTree = BUILT_PRODUCTS_DIR; }; 81AB9BB72411601600AC10FF /* LaunchScreen.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; name = LaunchScreen.storyboard; path = QuickCryptoExample/LaunchScreen.storyboard; sourceTree = ""; }; A2730E142C641A21000A5703 /* MaterialCommunityIcons.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; name = MaterialCommunityIcons.ttf; path = "../../node_modules/react-native-vector-icons/Fonts/MaterialCommunityIcons.ttf"; sourceTree = ""; }; ED297162215061F000B7C4FE /* JavaScriptCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = JavaScriptCore.framework; path = System/Library/Frameworks/JavaScriptCore.framework; sourceTree = SDKROOT; }; + F26BC0CBF1EA56237A94D44D /* libPods-QuickCryptoExample.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-QuickCryptoExample.a"; sourceTree = BUILT_PRODUCTS_DIR; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -39,7 +39,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 0C80B921A6F3F58F76C31292 /* libPods-QuickCryptoExample.a in Frameworks */, + E2573AAA37E1A3A99DF5551D /* libPods-QuickCryptoExample.a in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -83,7 +83,7 @@ isa = PBXGroup; children = ( ED297162215061F000B7C4FE /* JavaScriptCore.framework */, - 5DCACB8F33CDC322A6C60F78 /* libPods-QuickCryptoExample.a */, + F26BC0CBF1EA56237A94D44D /* libPods-QuickCryptoExample.a */, ); name = Frameworks; sourceTree = ""; @@ -388,6 +388,17 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; + HEADER_SEARCH_PATHS = ( + "$(inherited)", + "${PODS_CONFIGURATION_BUILD_DIR}/ReactCommon/ReactCommon.framework/Headers", + "${PODS_CONFIGURATION_BUILD_DIR}/ReactCommon/ReactCommon.framework/Headers/react/nativemodule/core", + "${PODS_CONFIGURATION_BUILD_DIR}/ReactCommon-Samples/ReactCommon_Samples.framework/Headers", + "${PODS_CONFIGURATION_BUILD_DIR}/ReactCommon-Samples/ReactCommon_Samples.framework/Headers/platform/ios", + "${PODS_CONFIGURATION_BUILD_DIR}/React-Fabric/React_Fabric.framework/Headers/react/renderer/components/view/platform/cxx", + "${PODS_CONFIGURATION_BUILD_DIR}/React-NativeModulesApple/React_NativeModulesApple.framework/Headers", + "${PODS_CONFIGURATION_BUILD_DIR}/React-graphics/React_graphics.framework/Headers", + "${PODS_CONFIGURATION_BUILD_DIR}/React-graphics/React_graphics.framework/Headers/react/renderer/graphics/platform/ios", + ); IPHONEOS_DEPLOYMENT_TARGET = 16.0; LD = ""; LDPLUSPLUS = ""; @@ -462,6 +473,17 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; + HEADER_SEARCH_PATHS = ( + "$(inherited)", + "${PODS_CONFIGURATION_BUILD_DIR}/ReactCommon/ReactCommon.framework/Headers", + "${PODS_CONFIGURATION_BUILD_DIR}/ReactCommon/ReactCommon.framework/Headers/react/nativemodule/core", + "${PODS_CONFIGURATION_BUILD_DIR}/ReactCommon-Samples/ReactCommon_Samples.framework/Headers", + "${PODS_CONFIGURATION_BUILD_DIR}/ReactCommon-Samples/ReactCommon_Samples.framework/Headers/platform/ios", + "${PODS_CONFIGURATION_BUILD_DIR}/React-Fabric/React_Fabric.framework/Headers/react/renderer/components/view/platform/cxx", + "${PODS_CONFIGURATION_BUILD_DIR}/React-NativeModulesApple/React_NativeModulesApple.framework/Headers", + "${PODS_CONFIGURATION_BUILD_DIR}/React-graphics/React_graphics.framework/Headers", + "${PODS_CONFIGURATION_BUILD_DIR}/React-graphics/React_graphics.framework/Headers/react/renderer/graphics/platform/ios", + ); IPHONEOS_DEPLOYMENT_TARGET = 16.0; LD = ""; LDPLUSPLUS = ""; diff --git a/package.json b/package.json index 7991e624..1808cba0 100644 --- a/package.json +++ b/package.json @@ -70,8 +70,5 @@ "workspaces": [ "packages/react-native-quick-crypto", "example" - ], - "patchedDependencies": { - "react-native-nitro-modules@0.21.0": "patches/react-native-nitro-modules@0.21.0.patch" - } + ] } diff --git a/packages/react-native-quick-crypto/QuickCrypto.podspec b/packages/react-native-quick-crypto/QuickCrypto.podspec index 24466d37..0ced7a2c 100644 --- a/packages/react-native-quick-crypto/QuickCrypto.podspec +++ b/packages/react-native-quick-crypto/QuickCrypto.podspec @@ -12,7 +12,7 @@ Pod::Spec.new do |s| s.license = package["license"] s.authors = package["authors"] - s.ios.deployment_target = 16.0 # min_ios_version_supported (see https://github.com/Expensify/App/pull/53149#issuecomment-2562786065) + s.ios.deployment_target = min_ios_version_supported s.visionos.deployment_target = 1.0 s.macos.deployment_target = 10.13 s.tvos.deployment_target = 13.4 @@ -32,16 +32,17 @@ Pod::Spec.new do |s| "deps/**/*.{h,c}", ] - if ENV["USE_FRAMEWORKS"] - s.dependency "React-Core" - add_dependency(s, "React-jsinspector", :framework_name => "jsinspector_modern") - add_dependency(s, "React-rendererconsistency", :framework_name => "React_rendererconsistency") - end + s.pod_target_xcconfig = { + # C++ compiler flags, mainly for folly. + "GCC_PREPROCESSOR_DEFINITIONS" => "$(inherited) FOLLY_NO_CONFIG FOLLY_CFG_NO_COROUTINES" + } # Add all files generated by Nitrogen load 'nitrogen/generated/ios/QuickCrypto+autolinking.rb' add_nitrogen_files(s) + s.dependency 'React-jsi' + s.dependency 'React-callinvoker' s.dependency "OpenSSL-Universal" install_modules_dependencies(s) end diff --git a/patches/react-native-nitro-modules@0.21.0.patch b/patches/react-native-nitro-modules@0.21.0.patch deleted file mode 100644 index 1d49f10d..00000000 --- a/patches/react-native-nitro-modules@0.21.0.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/NitroModules.podspec b/NitroModules.podspec -index 05093101b5e8626a158bd52f2215a99f649296f6..e0283a464a85388c947246692638aaa7d9d1bd31 100644 ---- a/NitroModules.podspec -+++ b/NitroModules.podspec -@@ -13,7 +13,7 @@ Pod::Spec.new do |s| - s.authors = package["author"] - s.source = { :git => "https://github.com/mrousavy/nitro.git", :tag => "#{s.version}" } - s.platforms = { -- :ios => min_ios_version_supported, -+ :ios => 16.0, # min_ios_version_supported (see https://github.com/mrousavy/nitro/issues/422) - :visionos => 1.0, - :macos => 10.13, - :tvos => 13.4,