From df29c2310dc0ba54d1fecd70aed11b81494ae3da Mon Sep 17 00:00:00 2001 From: yungblud Date: Tue, 2 Jul 2024 17:56:14 +0900 Subject: [PATCH] feat(fabric): updated ios podspec for implementing new architecture (#3961) * chore: :fire: updated FabricExample/Gemfile.lock (bundle install) * feat: updated react-native-video.podspec for implementing new architecture * feat: updated FabricExample/ios/Podfile.lock (pod install) * chore: updated examples/basic Gemfile.lock (bundle install) * chore: :zap: updated examples/basic ios Podfile.lock (pod install) --- examples/FabricExample/Gemfile.lock | 4 +++- examples/FabricExample/ios/Podfile.lock | 22 +++++++++++++++++++++- examples/basic/Gemfile.lock | 8 +++++--- examples/basic/ios/Podfile.lock | 10 +++++----- react-native-video.podspec | 18 +++++++++++++++--- 5 files changed, 49 insertions(+), 13 deletions(-) diff --git a/examples/FabricExample/Gemfile.lock b/examples/FabricExample/Gemfile.lock index 53cd1ea0b5..ab5cb31048 100644 --- a/examples/FabricExample/Gemfile.lock +++ b/examples/FabricExample/Gemfile.lock @@ -5,11 +5,12 @@ GEM base64 nkf rexml - activesupport (7.0.4.3) + activesupport (6.1.7.8) concurrent-ruby (~> 1.0, >= 1.0.2) i18n (>= 1.6, < 2) minitest (>= 5.1) tzinfo (~> 2.0) + zeitwerk (~> 2.3) addressable (2.8.7) public_suffix (>= 2.0.2, < 7.0) algoliasearch (1.27.5) @@ -90,6 +91,7 @@ GEM colored2 (~> 3.1) nanaimo (~> 0.3.0) rexml (~> 3.2.4) + zeitwerk (2.6.16) PLATFORMS ruby diff --git a/examples/FabricExample/ios/Podfile.lock b/examples/FabricExample/ios/Podfile.lock index 882f92aabc..f32f0f0d55 100644 --- a/examples/FabricExample/ios/Podfile.lock +++ b/examples/FabricExample/ios/Podfile.lock @@ -905,6 +905,25 @@ PODS: - ReactCommon/turbomodule/bridging - ReactCommon/turbomodule/core - Yoga + - react-native-video/Fabric (6.3.0): + - glog + - hermes-engine + - RCT-Folly (= 2022.05.16.00) + - RCTRequired + - RCTTypeSafety + - React-Codegen + - React-Core + - React-debug + - React-Fabric + - React-graphics + - React-ImageManager + - React-NativeModulesApple + - React-RCTFabric + - React-rendererdebug + - React-utils + - ReactCommon/turbomodule/bridging + - ReactCommon/turbomodule/core + - Yoga - react-native-video/Video (6.3.0): - glog - hermes-engine @@ -917,6 +936,7 @@ PODS: - React-Fabric - React-graphics - React-ImageManager + - react-native-video/Fabric - React-NativeModulesApple - React-RCTFabric - React-rendererdebug @@ -1358,7 +1378,7 @@ SPEC CHECKSUMS: React-jsitracing: 7c77101b38fcc8fa7f198de7e1d834350a85af90 React-logger: 66b168e2b2bee57bd8ce9e69f739d805732a5570 React-Mapbuffer: 9ee041e1d7be96da6d76a251f92e72b711c651d6 - react-native-video: 382353af62f6cbf8002a6de8d6633769edd2af07 + react-native-video: 033a57e0fffd1a8fa5cbe8ae3a01b71029032f62 React-nativeconfig: d753fbbc8cecc8ae413d615599ac378bbf6999bb React-NativeModulesApple: 964f4eeab1b4325e8b6a799cf4444c3fd4eb0a9c React-perflogger: 29efe63b7ef5fbaaa50ef6eaa92482f98a24b97e diff --git a/examples/basic/Gemfile.lock b/examples/basic/Gemfile.lock index 3f37065fb5..21441d307a 100644 --- a/examples/basic/Gemfile.lock +++ b/examples/basic/Gemfile.lock @@ -3,11 +3,12 @@ GEM specs: CFPropertyList (3.0.6) rexml - activesupport (7.0.8) + activesupport (6.1.7.8) concurrent-ruby (~> 1.0, >= 1.0.2) i18n (>= 1.6, < 2) minitest (>= 5.1) tzinfo (~> 2.0) + zeitwerk (~> 2.3) addressable (2.8.5) public_suffix (>= 2.0.2, < 6.0) algoliasearch (1.27.5) @@ -84,10 +85,11 @@ GEM colored2 (~> 3.1) nanaimo (~> 0.3.0) rexml (~> 3.2.4) + zeitwerk (2.6.16) PLATFORMS arm64-darwin-21 - ruby + arm64-darwin-23 DEPENDENCIES activesupport (>= 6.1.7.5, < 7.1.0) @@ -97,4 +99,4 @@ RUBY VERSION ruby 2.7.5p203 BUNDLED WITH - 2.4.19 + 2.4.5 diff --git a/examples/basic/ios/Podfile.lock b/examples/basic/ios/Podfile.lock index f9eea80f17..5ef5d78550 100644 --- a/examples/basic/ios/Podfile.lock +++ b/examples/basic/ios/Podfile.lock @@ -994,7 +994,7 @@ PODS: - React-Mapbuffer (0.74.2): - glog - React-debug - - react-native-video (6.2.0): + - react-native-video (6.3.0): - DoubleConversion - glog - hermes-engine @@ -1008,7 +1008,7 @@ PODS: - React-featureflags - React-graphics - React-ImageManager - - react-native-video/Video (= 6.2.0) + - react-native-video/Video (= 6.3.0) - React-NativeModulesApple - React-RCTFabric - React-rendererdebug @@ -1038,7 +1038,7 @@ PODS: - ReactCommon/turbomodule/bridging - ReactCommon/turbomodule/core - Yoga - - react-native-video/Video (6.2.0): + - react-native-video/Video (6.3.0): - DoubleConversion - glog - hermes-engine @@ -1559,7 +1559,7 @@ SPEC CHECKSUMS: React-jsitracing: 34bc0fbc606f69e66f05286d94d5cd6cbf2ef562 React-logger: 29fa3e048f5f67fe396bc08af7606426d9bd7b5d React-Mapbuffer: 86703e9e4f6522053568300827b436ccc01e1101 - react-native-video: 59f262a2d87c998b747ca1f031efb6eba1c156b5 + react-native-video: c44719c9a5261ad54fdad49e6dd0e98439e0e1b3 react-native-video-plugin-sample: d3a93b7ad777cad7fa2c30473de75a2635ce5feb React-nativeconfig: 5d452e509d6fbedc1522e21b566451fc673ac6b7 React-NativeModulesApple: 6560431301ffdab8df6212cc8c8eff779396d8e0 @@ -1594,4 +1594,4 @@ SPEC CHECKSUMS: PODFILE CHECKSUM: a73d485df51877001f2b04a5a4379cfa5a3ba8fa -COCOAPODS: 1.15.2 +COCOAPODS: 1.13.0 diff --git a/react-native-video.podspec b/react-native-video.podspec index e7a0ae48a0..473009a06d 100644 --- a/react-native-video.podspec +++ b/react-native-video.podspec @@ -4,6 +4,8 @@ package = JSON.parse(File.read(File.join(__dir__, "package.json"))) folly_compiler_flags = '-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32' +fabric_enabled = ENV['RCT_NEW_ARCH_ENABLED'] == '1' + Pod::Spec.new do |s| s.name = 'react-native-video' s.version = package['version'] @@ -16,8 +18,18 @@ Pod::Spec.new do |s| s.source = { :git => "https://github.com/TheWidlarzGroup/react-native-video.git", :tag => "v#{s.version}" } s.platforms = { :ios => "13.0", :tvos => "13.0", :visionos => "1.0" } + if fabric_enabled + s.subspec "Fabric" do |ss| + ss.source_files = "ios/Fabric/**/*.{h,mm}" + end + end + s.subspec "Video" do |ss| - ss.source_files = "ios/Video/**/*.{h,m,swift}" + ss.source_files = "ios/Video/**/*.{h,m,swift,mm}" + + if fabric_enabled + ss.dependency "react-native-video/Fabric" + end if defined?($RNVideoUseGoogleIMA) Pod::UI.puts "RNVideo: enable IMA SDK" @@ -32,7 +44,7 @@ Pod::Spec.new do |s| Pod::UI.puts "RNVideo: enable Video caching" ss.dependency "SPTPersistentCache", "~> 1.1.0" ss.dependency "DVAssetLoaderDelegate", "~> 0.3.1" - ss.source_files = "ios/*/**/*.{h,m,swift}" + ss.source_files = "ios/*/**/*.{h,m,swift,mm}" ss.pod_target_xcconfig = { 'OTHER_SWIFT_FLAGS' => '$(inherited) -D USE_VIDEO_CACHING' } @@ -47,7 +59,7 @@ Pod::Spec.new do |s| s.dependency "React-Core" # Don't install the dependencies when we run `pod install` in the old architecture. - if ENV['RCT_NEW_ARCH_ENABLED'] == '1' then + if fabric_enabled then s.compiler_flags = folly_compiler_flags + " -DRCT_NEW_ARCH_ENABLED=1" s.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)/boost\"",