MovixOpenSource/app/ios/Podfile
Claude 8eb6c087ed
fix(ios): raise Podfile platform to 15.1 for google-cast-sdk
CocoaPods rejected google-cast-sdk 4.8.4 because it requires iOS 15.0 while
the Podfile platform resolved to RN's default min_ios_version_supported (13.4).
The app target already deploys to iOS 15.6, so pinning the pod platform to
15.1 satisfies the Cast SDK requirement without reducing real device support.

https://claude.ai/code/session_01X52sah6aUu3ou26uJWHgzr
2026-06-12 11:20:28 +00:00

59 lines
2.1 KiB
Ruby

# Resolve react_native_pods.rb with node to allow for hoisting
require Pod::Executable.execute_command('node', ['-p',
'require.resolve(
"react-native/scripts/react_native_pods.rb",
{paths: [process.argv[1]]},
)', __dir__]).strip
# Le SDK Google Cast (>= 4.8.4) exige iOS 15.0 minimum. L'app cible déjà
# iOS 15.6, on relève donc le plancher des pods (RN par défaut : 13.4) pour
# satisfaire la résolution CocoaPods sans réduire le support réel.
platform :ios, '15.1'
prepare_react_native_project!
linkage = ENV['USE_FRAMEWORKS']
if linkage != nil
Pod::UI.puts "Configuring Pod with #{linkage}ing framework linking."
use_frameworks! :linkage => linkage.to_sym
end
target 'MovixApp' do
config = use_native_modules!
# Google Cast SDK (iOS Chromecast support).
# Depuis 4.8.4, le SDK est livré en static framework qui embarque Protobuf :
# plus besoin de `use_frameworks!`, compatible avec le setup RN par défaut.
pod 'google-cast-sdk', '~> 4.8.4'
use_react_native!(
:path => config[:reactNativePath],
:app_path => "#{Pod::Config.instance.installation_root}/.."
)
post_install do |installer|
react_native_post_install(
installer,
config[:reactNativePath],
:mac_catalyst_enabled => false
)
installer.pods_project.targets.each do |target|
target.build_configurations.each do |config|
config.build_settings['CLANG_CXX_LIBRARY'] = 'libc++'
config.build_settings['OTHER_CPLUSPLUSFLAGS'] = '$(inherited) -include "$(PODS_ROOT)/../char_traits_fix.h"'
config.build_settings['CLANG_ALLOW_NON_MODULAR_INCLUDES_IN_FRAMEWORK_MODULES'] = 'YES'
end
end
# Remove Expo build phases injected by react-native (no expo in this project)
installer.aggregate_targets.each do |agg_target|
agg_target.user_project.targets.each do |target|
target.build_phases.select { |p|
p.is_a?(Xcodeproj::Project::Object::PBXShellScriptBuildPhase) &&
p.name.to_s.include?("[Expo]")
}.each(&:remove_from_project)
end
agg_target.user_project.save
end
end
end