Problem
I recently submitted my app to the App Store and received the following rejection:
ITMS-90482: Invalid Executable - The executable 'oladoc.app/Frameworks/TwilioVideo.framework/TwilioVideo' contains bitcode.
My app is built using
Xcode 16.0
macOS Sequoia 15.0
React Native 0.63.5
Bitcode is no longer supported, so I’m confused as to why this error is occurring.
Package
react-native-twilio-video-webrtc
Steps I've Followed:
Checked "Enable Bitcode" Setting:
I noticed that the "Enable Bitcode" setting is no longer available in Xcode 16.0, which aligns with Apple's removal of Bitcode support. Updated TwilioVideo Framework:
I verified that I'm using the latest version of package for TwilioVideo. I am facing the rejection due to Bitcode being present in the TwilioVideo framework.
Question
Has anyone encountered a similar issue with TwilioVideo or other frameworks in Xcode 16.0? Are there additional steps I can take to resolve this and remove Bitcode completely from my app?
Here is a solution from Twilio's repository. https://github.com/twilio/video-quickstart-ios/issues/110#issuecomment-294069008
post_install do |installer|
# Find bitcode_strip
bitcode_strip_path = `xcrun -sdk iphoneos --find bitcode_strip`.chop!
# Find path to TwilioVideo dependency
path = Dir.pwd
framework_path = "#{path}/Pods/TwilioVideo/TwilioVideo.framework/TwilioVideo"
# Strip Bitcode sections from the framework
strip_command = "#{bitcode_strip_path} #{framework_path} -m -o #{framework_path}"
puts "About to strip: #{strip_command}"
system(strip_command)
end