From a95004905cad0a73548bf49e0dc5b793abf8ada1 Mon Sep 17 00:00:00 2001 From: Tom Van Laerhoven Date: Wed, 20 Nov 2024 08:48:22 +0100 Subject: [PATCH 1/6] Include tvos as e2e target --- .github/workflows/pr_ios.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pr_ios.yml b/.github/workflows/pr_ios.yml index c4cc5d867..0eb5ed1fb 100644 --- a/.github/workflows/pr_ios.yml +++ b/.github/workflows/pr_ios.yml @@ -9,6 +9,7 @@ jobs: strategy: matrix: xcode_version: [ '15.4.0' ] + platform: [ios, tvos] runs-on: macos-latest steps: - name: Checkout repository @@ -52,7 +53,7 @@ jobs: - name: Start iOS simulator uses: futureware-tech/simulator-action@v4 with: - model: 'iPhone 15' + model: ${{ matrix.platform == 'ios' && 'iPhone 15' || 'Apple TV 4K' }} os_version: '>=14.0' - name: Run e2e tests From 34b9c345971ebf67cc7bfa73416ff21915499641 Mon Sep 17 00:00:00 2001 From: Tom Van Laerhoven Date: Wed, 20 Nov 2024 08:48:44 +0100 Subject: [PATCH 2/6] Optimize e2e workflow conditions --- .github/workflows/pr_android.yml | 7 +++++++ .github/workflows/pr_ios.yml | 14 +++++++++++--- e2e/package.json | 3 ++- 3 files changed, 20 insertions(+), 4 deletions(-) diff --git a/.github/workflows/pr_android.yml b/.github/workflows/pr_android.yml index 3b9ab26b8..491a075c7 100644 --- a/.github/workflows/pr_android.yml +++ b/.github/workflows/pr_android.yml @@ -3,6 +3,13 @@ on: workflow_dispatch: pull_request: types: [opened, reopened, synchronize] + paths: + - .github/workflows/pr_android.yml + - example/** + - e2e/** + - package.json + - src/** + - android/** jobs: build: diff --git a/.github/workflows/pr_ios.yml b/.github/workflows/pr_ios.yml index 0eb5ed1fb..864198a38 100644 --- a/.github/workflows/pr_ios.yml +++ b/.github/workflows/pr_ios.yml @@ -3,13 +3,20 @@ on: workflow_dispatch: pull_request: types: [opened, reopened, synchronize] + paths: + - .github/workflows/pr_ios.yml + - example/** + - e2e/** + - package.json + - src/** + - ios/** jobs: build: strategy: matrix: xcode_version: [ '15.4.0' ] - platform: [ios, tvos] + platform: [iOS, tvOS] runs-on: macos-latest steps: - name: Checkout repository @@ -53,12 +60,13 @@ jobs: - name: Start iOS simulator uses: futureware-tech/simulator-action@v4 with: - model: ${{ matrix.platform == 'ios' && 'iPhone 15' || 'Apple TV 4K' }} + model: ${{ matrix.platform == 'iOS' && 'iPhone 15' || 'Apple TV' }} + os: ${{ matrix.platform }} os_version: '>=14.0' - name: Run e2e tests working-directory: e2e - run: npm run test:e2e:ios + run: npm run test:e2e:${{ matrix.platform == 'iOS' && 'ios' || 'tvos' }} - name: Summarize results working-directory: e2e diff --git a/e2e/package.json b/e2e/package.json index a8cda63a2..a6c35f309 100644 --- a/e2e/package.json +++ b/e2e/package.json @@ -6,7 +6,8 @@ "scripts": { "start": "npx react-native start", "test:e2e:android": "npx cavy run-android --terminal bash --mode release", - "test:e2e:ios": "npx cavy run-ios --terminal bash", + "test:e2e:ios": "npx cavy run-ios --terminal bash --scheme ReactNativeTHEOplayer", + "test:e2e:tvos": "npx cavy run-ios --terminal bash --scheme ReactNativeTHEOplayer-tvOS", "lint": "eslint \"**/*.{ts,tsx}\"", "postinstall": "patch-package" }, From b46ab57afd2724f48f73bafa5a307230f93715e4 Mon Sep 17 00:00:00 2001 From: Tom Van Laerhoven Date: Wed, 20 Nov 2024 09:36:51 +0100 Subject: [PATCH 3/6] Set build names --- .github/workflows/pr_android.yml | 1 + .github/workflows/pr_ios.yml | 1 + 2 files changed, 2 insertions(+) diff --git a/.github/workflows/pr_android.yml b/.github/workflows/pr_android.yml index 491a075c7..870f5714c 100644 --- a/.github/workflows/pr_android.yml +++ b/.github/workflows/pr_android.yml @@ -17,6 +17,7 @@ jobs: strategy: matrix: api-level: [ 34 ] + name: Build for API Level ${{ matrix.api-level }} steps: - name: Checkout repository uses: actions/checkout@v4 diff --git a/.github/workflows/pr_ios.yml b/.github/workflows/pr_ios.yml index 864198a38..009ef56d4 100644 --- a/.github/workflows/pr_ios.yml +++ b/.github/workflows/pr_ios.yml @@ -18,6 +18,7 @@ jobs: xcode_version: [ '15.4.0' ] platform: [iOS, tvOS] runs-on: macos-latest + name: Build for ${{ matrix.platform }} using XCode version ${{ matrix.xcode_version }} steps: - name: Checkout repository uses: actions/checkout@v4 From 8f44eb10ef8be01eaee1ce9ee8fd00e588af06e0 Mon Sep 17 00:00:00 2001 From: Tom Van Laerhoven Date: Wed, 20 Nov 2024 13:05:21 +0100 Subject: [PATCH 4/6] Fix Nielsen tvOS target --- e2e/ios/Podfile | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/e2e/ios/Podfile b/e2e/ios/Podfile index 54778e920..959762014 100755 --- a/e2e/ios/Podfile +++ b/e2e/ios/Podfile @@ -54,4 +54,29 @@ end post_install do |installer| react_native_post_install(installer) + + # modify XCFramework configuration files to update NielsenAppApi.framework -> NielsenTVAppApi.framework + installer.pods_project.targets.each do |target| + if target.name == 'Pods-NielsenVideoPlayerTVOSPodsXC' + # update Pods-NielsenVideoPlayerTVOSPodsXC.debug.xcconfig file + # update Pods-NielsenVideoPlayerTVOSPodsXC.release.xcconfig file + target.build_configurations.each do |config| + xcconfig_path = config.base_configuration_reference.real_path + puts "post_install: Found #{File.basename(xcconfig_path)}" + xcconfig = File.read(xcconfig_path) + new_xcconfig = xcconfig.sub('-framework "NielsenAppApi"', '-framework "NielsenTVAppApi"') + File.open(xcconfig_path, "w") { |file| file << new_xcconfig } + puts "post_install: Updated #{File.basename(xcconfig_path)} file with a value: NielsenTVAppApi.framework" + end + # update Pods-NielsenVideoPlayerTVOSPodsXC-frameworks.sh file + frameworksh_path = "Pods/Target Support Files/#{target.name}/#{target.name}-frameworks.sh" + if File.exist?(frameworksh_path) + puts "post_install: Found #{File.basename(frameworksh_path)}" + text = File.read(frameworksh_path) + new_contents = text.gsub('NielsenAppApi.framework', 'NielsenTVAppApi.framework') + File.open(frameworksh_path, "w") {|file| file.puts new_contents} + puts "post_install: Updated #{File.basename(frameworksh_path)} file with a value: NielsenTVAppApi.framework" + end + end + end end From 6b79b0fe57d7964fde9b1c9c7f16e02630f74643 Mon Sep 17 00:00:00 2001 From: William Van Haevre Date: Wed, 20 Nov 2024 13:47:30 +0100 Subject: [PATCH 5/6] Update pod config --- e2e/ios/PodConfig.rb | 32 ++++++++++++++++++++++++++++++++ e2e/ios/Podfile | 33 +++++---------------------------- 2 files changed, 37 insertions(+), 28 deletions(-) create mode 100644 e2e/ios/PodConfig.rb diff --git a/e2e/ios/PodConfig.rb b/e2e/ios/PodConfig.rb new file mode 100644 index 000000000..00e1374cc --- /dev/null +++ b/e2e/ios/PodConfig.rb @@ -0,0 +1,32 @@ +def nielsen_source + source 'https://github.com/NielsenDigitalSDK/nielsenappsdk-ios-specs-dynamic.git' +end + +def google_cast_redirect + pod 'react-native-google-cast', :git => 'https://github.com/Danesz/react-native-google-cast.git', branch: 'feature/guestmode_apple_silicon' +end + +def nielsen_post_install(installer, targetName) + # modify XCFramework configuration files to update NielsenAppApi.framework -> NielsenTVAppApi.framework + installer.pods_project.targets.each do |target| + if target.name == targetName + target.build_configurations.each do |config| + xcconfig_path = config.base_configuration_reference.real_path + puts "post_install: Found #{File.basename(xcconfig_path)}" + xcconfig = File.read(xcconfig_path) + new_xcconfig = xcconfig.sub('-framework "NielsenAppApi"', '-framework "NielsenTVAppApi"') + File.open(xcconfig_path, "w") { |file| file << new_xcconfig } + puts "post_install: Updated #{File.basename(xcconfig_path)} file with a value: NielsenTVAppApi.framework" + end + # update Pods-ReactNativeTHEOplayer-tvOS-frameworks.sh file + frameworksh_path = "Pods/Target Support Files/#{target.name}/#{target.name}-frameworks.sh" + if File.exist?(frameworksh_path) + puts "post_install: Found #{File.basename(frameworksh_path)}" + text = File.read(frameworksh_path) + new_contents = text.gsub('NielsenAppApi.framework', 'NielsenTVAppApi.framework') + File.open(frameworksh_path, "w") {|file| file.puts new_contents} + puts "post_install: Updated #{File.basename(frameworksh_path)} file with a value: NielsenTVAppApi.framework" + end + end + end +end diff --git a/e2e/ios/Podfile b/e2e/ios/Podfile index 959762014..ee9075faf 100755 --- a/e2e/ios/Podfile +++ b/e2e/ios/Podfile @@ -1,9 +1,10 @@ require_relative '../node_modules/react-native/scripts/react_native_pods' require_relative '../node_modules/@react-native-community/cli-platform-ios/native_modules' +require_relative './PodConfig' source 'https://github.com/react-native-tvos/react-native-tvos-podspecs.git' -source 'https://github.com/NielsenDigitalSDK/nielsenappsdk-ios-specs-dynamic.git' source 'https://cdn.cocoapods.org/' +nielsen_source linkage = ENV['USE_FRAMEWORKS'] if linkage != nil @@ -24,8 +25,8 @@ target 'ReactNativeTHEOplayer' do ) pod 'react-native-theoplayer', :path => '../..' - pod 'react-native-google-cast', :git => 'https://github.com/Danesz/react-native-google-cast.git', branch: 'feature/guestmode_apple_silicon' - + google_cast_redirect + target 'ReactNativeTHEOplayerTests' do inherit! :complete # Pods for testing @@ -54,29 +55,5 @@ end post_install do |installer| react_native_post_install(installer) - - # modify XCFramework configuration files to update NielsenAppApi.framework -> NielsenTVAppApi.framework - installer.pods_project.targets.each do |target| - if target.name == 'Pods-NielsenVideoPlayerTVOSPodsXC' - # update Pods-NielsenVideoPlayerTVOSPodsXC.debug.xcconfig file - # update Pods-NielsenVideoPlayerTVOSPodsXC.release.xcconfig file - target.build_configurations.each do |config| - xcconfig_path = config.base_configuration_reference.real_path - puts "post_install: Found #{File.basename(xcconfig_path)}" - xcconfig = File.read(xcconfig_path) - new_xcconfig = xcconfig.sub('-framework "NielsenAppApi"', '-framework "NielsenTVAppApi"') - File.open(xcconfig_path, "w") { |file| file << new_xcconfig } - puts "post_install: Updated #{File.basename(xcconfig_path)} file with a value: NielsenTVAppApi.framework" - end - # update Pods-NielsenVideoPlayerTVOSPodsXC-frameworks.sh file - frameworksh_path = "Pods/Target Support Files/#{target.name}/#{target.name}-frameworks.sh" - if File.exist?(frameworksh_path) - puts "post_install: Found #{File.basename(frameworksh_path)}" - text = File.read(frameworksh_path) - new_contents = text.gsub('NielsenAppApi.framework', 'NielsenTVAppApi.framework') - File.open(frameworksh_path, "w") {|file| file.puts new_contents} - puts "post_install: Updated #{File.basename(frameworksh_path)} file with a value: NielsenTVAppApi.framework" - end - end - end + nielsen_post_install(installer, "Pods-ReactNativeTHEOplayer-tvOS") end From 75ee69eae35d060612a2e16ea5986a9278651c21 Mon Sep 17 00:00:00 2001 From: William Van Haevre Date: Wed, 20 Nov 2024 13:48:25 +0100 Subject: [PATCH 6/6] pdate ios lock and project --- e2e/ios/Podfile.lock | 56 +++++++++++++++++-- .../project.pbxproj | 20 +++++++ 2 files changed, 71 insertions(+), 5 deletions(-) diff --git a/e2e/ios/Podfile.lock b/e2e/ios/Podfile.lock index d18f5d606..10bc27c55 100644 --- a/e2e/ios/Podfile.lock +++ b/e2e/ios/Podfile.lock @@ -5,10 +5,13 @@ PODS: - ComScore/Dynamic (6.10.2) - ConvivaSDK (4.0.51) - DoubleConversion (1.1.6) + - DSFRegex (3.3.1) - FBLazyVector (0.75.4-0) - fmt (9.1.0) - glog (0.3.5) - google-cast-sdk-dynamic-xcframework (4.8.0) + - GoogleAds-IMA-iOS-SDK (3.23.0) + - GoogleAds-IMA-tvOS-SDK (4.9.1) - hermes-engine (0.75.4-0): - hermes-engine/Pre-built (= 0.75.4-0) - hermes-engine/Pre-built (0.75.4-0) @@ -1253,9 +1256,12 @@ PODS: - react-native-google-cast/RNGoogleCast (4.6.2): - PromisesObjC - React - - react-native-theoplayer (8.5.0): + - react-native-theoplayer (8.8.1): - React-Core - - THEOplayerSDK-core (~> 8.0) + - THEOplayer-Connector-SideloadedSubtitle (~> 8.3) + - THEOplayer-Integration-GoogleCast (~> 8.3) + - THEOplayer-Integration-GoogleIMA (~> 8.3) + - THEOplayerSDK-core (~> 8.3) - react-native-theoplayer-comscore (1.7.1): - React-Core - react-native-theoplayer @@ -1533,6 +1539,10 @@ PODS: - RNSVG (13.14.1): - React-Core - SocketRocket (0.7.0) + - Swifter (1.5.0) + - SwiftSubtitles (0.9.1): + - DSFRegex (~> 3.3.1) + - TinyCSV (~> 0.6.1) - THEOplayer-Connector-Comscore (8.3.0): - ComScore (~> 6.10.0) - THEOplayerSDK-core (~> 8) @@ -1544,10 +1554,28 @@ PODS: - NielsenAppSDK-XC (= 9.0.0.0) - THEOplayer-Connector-Utilities (>= 8.0.0, ~> 8.0) - THEOplayerSDK-core (~> 8) + - THEOplayer-Connector-SideloadedSubtitle (8.4.0): + - Swifter (= 1.5.0) + - SwiftSubtitles (= 0.9.1) + - THEOplayerSDK-core (~> 8) - THEOplayer-Connector-Utilities (8.3.0): - ConvivaSDK (~> 4.0.30) - THEOplayerSDK-core (~> 8) + - THEOplayer-Integration-GoogleCast (8.4.1): + - THEOplayer-Integration-GoogleCast/Base (= 8.4.1) + - THEOplayer-Integration-GoogleCast/Dependencies (= 8.4.1) + - THEOplayer-Integration-GoogleCast/Base (8.4.1) + - THEOplayer-Integration-GoogleCast/Dependencies (8.4.1): + - google-cast-sdk-dynamic-xcframework (~> 4.8) + - THEOplayer-Integration-GoogleIMA (8.4.1): + - THEOplayer-Integration-GoogleIMA/Base (= 8.4.1) + - THEOplayer-Integration-GoogleIMA/Dependencies (= 8.4.1) + - THEOplayer-Integration-GoogleIMA/Base (8.4.1) + - THEOplayer-Integration-GoogleIMA/Dependencies (8.4.1): + - GoogleAds-IMA-iOS-SDK (~> 3.18) + - GoogleAds-IMA-tvOS-SDK (~> 4.8) - THEOplayerSDK-core (8.3.0) + - TinyCSV (0.6.1) - Yoga (0.0.0) DEPENDENCIES: @@ -1629,14 +1657,23 @@ SPEC REPOS: trunk: - ComScore - ConvivaSDK + - DSFRegex - google-cast-sdk-dynamic-xcframework + - GoogleAds-IMA-iOS-SDK + - GoogleAds-IMA-tvOS-SDK - PromisesObjC - SocketRocket + - Swifter + - SwiftSubtitles - THEOplayer-Connector-Comscore - THEOplayer-Connector-Conviva - THEOplayer-Connector-Nielsen + - THEOplayer-Connector-SideloadedSubtitle - THEOplayer-Connector-Utilities + - THEOplayer-Integration-GoogleCast + - THEOplayer-Integration-GoogleIMA - THEOplayerSDK-core + - TinyCSV EXTERNAL SOURCES: boost: @@ -1790,10 +1827,13 @@ SPEC CHECKSUMS: ComScore: 3669769a26adf769adddc51ffa34e48ee51a8661 ConvivaSDK: c5d877bf5a830a8dd0b0696c538a11fc96208ec5 DoubleConversion: 00143ab27d470b28035933623e1a3ea37e68889c + DSFRegex: 8493187c71ac199695245eb9ec98bad4f87a2f0b FBLazyVector: e06894178a2469b6da988d1d4de56aca5a3f90d1 fmt: 1568fa7b2f242362c45c42d4a15e9dd4b2e621b3 glog: 4d211b5b727f9d4542418484bf9945f28b8cb4a5 google-cast-sdk-dynamic-xcframework: d1323732742c979b2d7e5b061cbe665915981f3d + GoogleAds-IMA-iOS-SDK: ee2a68ed7a1a17c7bb81bdb1b81590b35a3fc8f3 + GoogleAds-IMA-tvOS-SDK: 85e799c35051454693492480ef7e4ae2e701a05f hermes-engine: ac68d6c3169772a7a7f9eeb25dbb5ff87930034f NielsenAppSDK-XC: 8877317bed8261bc6bdcb7d8655f5ba314ba9610 PromisesObjC: f5707f49cb48b9636751c5b2e7d227e43fba9f47 @@ -1827,7 +1867,7 @@ SPEC CHECKSUMS: React-Mapbuffer: d9594fa247e7866b44249d5e04a68ace76af2841 React-microtasksnativemodule: a3489ca37b515f6f685ec1a86c8df364343ac578 react-native-google-cast: d7bdfd1a0eeba84afde03b9722351ec29543e74c - react-native-theoplayer: 17d8a46df5e3e6e75f9afb96f5d409e5e0384d3d + react-native-theoplayer: 2cab87e2bd4c90083512426b7642612ea7da23c2 react-native-theoplayer-comscore: 8a191ac8ed445b0c36780905e3c03ade036c1afe react-native-theoplayer-conviva: f68b57dd9158653c0643d3b1c4b8b94b314fe380 react-native-theoplayer-nielsen: d65a269d9245326b8eb4ed6fc6ba76f79bf464f1 @@ -1860,13 +1900,19 @@ SPEC CHECKSUMS: RNDeviceInfo: 59344c19152c4b2b32283005f9737c5c64b42fba RNSVG: af3907ac5d4fa26a862b75a16d8f15bc74f2ceda SocketRocket: abac6f5de4d4d62d24e11868d7a2f427e0ef940d + Swifter: e71dd674404923d7f03ebb03f3f222d1c570bc8e + SwiftSubtitles: c659af19d710a2946779015464c0577d07fe4666 THEOplayer-Connector-Comscore: add7f663d556cbe803570a6d3e776d9a076a6375 THEOplayer-Connector-Conviva: 4e7fbfa2859045926ff0dc6e0412c8e7d51b1569 THEOplayer-Connector-Nielsen: cb2d511f62f212d8e7a20660c4a6bfb8508d00a5 + THEOplayer-Connector-SideloadedSubtitle: 4b6339abf312f84a5e67bd442ef80b83b8d2f95f THEOplayer-Connector-Utilities: 0106ae6ea7867d32e83a94c8f4fd3f0c30b22c79 + THEOplayer-Integration-GoogleCast: 1b28e5279198d9fabe4131d2a69ff3ef05327e55 + THEOplayer-Integration-GoogleIMA: 6c6f0f188b7ded3ed6bcf77b2dbf8028541f51a5 THEOplayerSDK-core: 03e55ca6dfe3f16d52fdc9e4bdc6bff150d63531 - Yoga: 07ebe50bd234e51e5e3e07befa14a3078a0fcbbd + TinyCSV: fd6228edbcf1c07466ac34b76dac5e052143eaba + Yoga: 1eb8c4882b3018c344a2ff61c5f2e5c6b1711d82 -PODFILE CHECKSUM: f44eee13563fe347754d375fbbe1036dbf27c1d1 +PODFILE CHECKSUM: c27acb041e8dae53d7a7bf2fbfef5ffd6f7d6fa0 COCOAPODS: 1.15.2 diff --git a/e2e/ios/ReactNativeTHEOplayer.xcodeproj/project.pbxproj b/e2e/ios/ReactNativeTHEOplayer.xcodeproj/project.pbxproj index 41c444a88..cd2a83a93 100644 --- a/e2e/ios/ReactNativeTHEOplayer.xcodeproj/project.pbxproj +++ b/e2e/ios/ReactNativeTHEOplayer.xcodeproj/project.pbxproj @@ -516,15 +516,19 @@ "${PODS_ROOT}/Target Support Files/Pods-ReactNativeTHEOplayer-tvOS/Pods-ReactNativeTHEOplayer-tvOS-frameworks.sh", "${PODS_XCFRAMEWORKS_BUILD_DIR}/ComScore/Dynamic/ComScore.framework/ComScore", "${PODS_XCFRAMEWORKS_BUILD_DIR}/NielsenAppSDK-XC/NielsenAppApi.framework/NielsenAppApi", + "${PODS_XCFRAMEWORKS_BUILD_DIR}/THEOplayer-Integration-GoogleIMA/Base/THEOplayerGoogleIMAIntegration.framework/THEOplayerGoogleIMAIntegration", "${PODS_XCFRAMEWORKS_BUILD_DIR}/THEOplayerSDK-core/THEOplayerSDK.framework/THEOplayerSDK", "${PODS_XCFRAMEWORKS_BUILD_DIR}/hermes-engine/Pre-built/hermes.framework/hermes", + "${PODS_XCFRAMEWORKS_BUILD_DIR}/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.framework/GoogleInteractiveMediaAds", ); name = "[CP] Embed Pods Frameworks"; outputPaths = ( "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/ComScore.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/NielsenAppApi.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/THEOplayerGoogleIMAIntegration.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/THEOplayerSDK.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/hermes.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/GoogleInteractiveMediaAds.framework", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; @@ -561,7 +565,10 @@ inputPaths = ( "${PODS_ROOT}/Target Support Files/Pods-ReactNativeTHEOplayer-ReactNativeTHEOplayerTests/Pods-ReactNativeTHEOplayer-ReactNativeTHEOplayerTests-frameworks.sh", "${PODS_XCFRAMEWORKS_BUILD_DIR}/ComScore/Dynamic/ComScore.framework/ComScore", + "${PODS_XCFRAMEWORKS_BUILD_DIR}/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.framework/GoogleInteractiveMediaAds", "${PODS_XCFRAMEWORKS_BUILD_DIR}/NielsenAppSDK-XC/NielsenAppApi.framework/NielsenAppApi", + "${PODS_XCFRAMEWORKS_BUILD_DIR}/THEOplayer-Integration-GoogleCast/Base/THEOplayerGoogleCastIntegration.framework/THEOplayerGoogleCastIntegration", + "${PODS_XCFRAMEWORKS_BUILD_DIR}/THEOplayer-Integration-GoogleIMA/Base/THEOplayerGoogleIMAIntegration.framework/THEOplayerGoogleIMAIntegration", "${PODS_XCFRAMEWORKS_BUILD_DIR}/THEOplayerSDK-core/THEOplayerSDK.framework/THEOplayerSDK", "${PODS_XCFRAMEWORKS_BUILD_DIR}/google-cast-sdk-dynamic-xcframework/GoogleCast.framework/GoogleCast", "${PODS_XCFRAMEWORKS_BUILD_DIR}/hermes-engine/Pre-built/hermes.framework/hermes", @@ -569,7 +576,10 @@ name = "[CP] Embed Pods Frameworks"; outputPaths = ( "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/ComScore.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/GoogleInteractiveMediaAds.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/NielsenAppApi.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/THEOplayerGoogleCastIntegration.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/THEOplayerGoogleIMAIntegration.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/THEOplayerSDK.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/GoogleCast.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/hermes.framework", @@ -588,15 +598,19 @@ "${PODS_ROOT}/Target Support Files/Pods-ReactNativeTHEOplayer-tvOS-ReactNativeTHEOplayer-tvOSTests/Pods-ReactNativeTHEOplayer-tvOS-ReactNativeTHEOplayer-tvOSTests-frameworks.sh", "${PODS_XCFRAMEWORKS_BUILD_DIR}/ComScore/Dynamic/ComScore.framework/ComScore", "${PODS_XCFRAMEWORKS_BUILD_DIR}/NielsenAppSDK-XC/NielsenAppApi.framework/NielsenAppApi", + "${PODS_XCFRAMEWORKS_BUILD_DIR}/THEOplayer-Integration-GoogleIMA/Base/THEOplayerGoogleIMAIntegration.framework/THEOplayerGoogleIMAIntegration", "${PODS_XCFRAMEWORKS_BUILD_DIR}/THEOplayerSDK-core/THEOplayerSDK.framework/THEOplayerSDK", "${PODS_XCFRAMEWORKS_BUILD_DIR}/hermes-engine/Pre-built/hermes.framework/hermes", + "${PODS_XCFRAMEWORKS_BUILD_DIR}/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.framework/GoogleInteractiveMediaAds", ); name = "[CP] Embed Pods Frameworks"; outputPaths = ( "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/ComScore.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/NielsenAppApi.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/THEOplayerGoogleIMAIntegration.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/THEOplayerSDK.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/hermes.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/GoogleInteractiveMediaAds.framework", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; @@ -749,7 +763,10 @@ inputPaths = ( "${PODS_ROOT}/Target Support Files/Pods-ReactNativeTHEOplayer/Pods-ReactNativeTHEOplayer-frameworks.sh", "${PODS_XCFRAMEWORKS_BUILD_DIR}/ComScore/Dynamic/ComScore.framework/ComScore", + "${PODS_XCFRAMEWORKS_BUILD_DIR}/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.framework/GoogleInteractiveMediaAds", "${PODS_XCFRAMEWORKS_BUILD_DIR}/NielsenAppSDK-XC/NielsenAppApi.framework/NielsenAppApi", + "${PODS_XCFRAMEWORKS_BUILD_DIR}/THEOplayer-Integration-GoogleCast/Base/THEOplayerGoogleCastIntegration.framework/THEOplayerGoogleCastIntegration", + "${PODS_XCFRAMEWORKS_BUILD_DIR}/THEOplayer-Integration-GoogleIMA/Base/THEOplayerGoogleIMAIntegration.framework/THEOplayerGoogleIMAIntegration", "${PODS_XCFRAMEWORKS_BUILD_DIR}/THEOplayerSDK-core/THEOplayerSDK.framework/THEOplayerSDK", "${PODS_XCFRAMEWORKS_BUILD_DIR}/google-cast-sdk-dynamic-xcframework/GoogleCast.framework/GoogleCast", "${PODS_XCFRAMEWORKS_BUILD_DIR}/hermes-engine/Pre-built/hermes.framework/hermes", @@ -757,7 +774,10 @@ name = "[CP] Embed Pods Frameworks"; outputPaths = ( "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/ComScore.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/GoogleInteractiveMediaAds.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/NielsenAppApi.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/THEOplayerGoogleCastIntegration.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/THEOplayerGoogleIMAIntegration.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/THEOplayerSDK.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/GoogleCast.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/hermes.framework",