diff --git a/RNRive.podspec b/RNRive.podspec index b706f3ce..d9fc63e3 100644 --- a/RNRive.podspec +++ b/RNRive.podspec @@ -38,28 +38,6 @@ else Pod::UI.puts "@rive-app/react-native: Using experimental Rive runtime backend" end -# Xcode 26 workaround: strip .Swift Clang submodule from RiveRuntime's prebuilt -# modulemaps to prevent ODR conflicts with locally-compiled Swift C++ interop. -# See: https://github.com/rive-app/rive-nitro-react-native/issues/173 -if defined?(Pod::Installer) - module RiveXcode26SwiftModuleFix - def run_podfile_pre_install_hooks - rive_dir = File.join(sandbox.root.to_s, 'RiveRuntime') - if Dir.exist?(rive_dir) - Dir.glob(File.join(rive_dir, '**', 'module.modulemap')).each do |path| - content = File.read(path) - next unless content.include?('RiveRuntime.Swift') - cleaned = content.gsub(/\nmodule RiveRuntime\.Swift \{[^}]*\}\n?/m, "\n") - File.write(path, cleaned) - end - end - super - end - end - - Pod::Installer.prepend(RiveXcode26SwiftModuleFix) -end - Pod::Spec.new do |s| s.name = "RNRive" s.version = package["version"] diff --git a/example/ios/Podfile b/example/ios/Podfile index c5462c08..c04206ab 100644 --- a/example/ios/Podfile +++ b/example/ios/Podfile @@ -33,24 +33,5 @@ target 'RiveExample' do :mac_catalyst_enabled => false, # :ccache_enabled => true ) - - # Xcode 26 / Swift 6.2 workaround: strip the RiveRuntime.Swift submodule - # from RiveRuntime's modulemaps. Without this, Clang sees two conflicting - # definitions of swift::Optional / swift::String (one from the pre-built - # RiveRuntime XCFramework compiled with Swift 6.1, one from NitroModules - # compiled fresh with Swift 6.2) and fails with ODR "different definitions - # in different modules" errors. - # See: https://github.com/rive-app/rive-nitro-react-native/issues/173 - rive_dir = File.join(installer.sandbox.root.to_s, 'RiveRuntime') - if Dir.exist?(rive_dir) - Dir.glob(File.join(rive_dir, '**', 'module.modulemap')).each do |path| - content = File.read(path) - next unless content.include?('RiveRuntime.Swift') - cleaned = content.gsub(/\nmodule RiveRuntime\.Swift \{[^}]*\}\n?/m, "\n") - File.write(path, cleaned) - puts "[RNRive] Stripped RiveRuntime.Swift submodule from #{path}" - end - end - end end