Search code examples
iosxcodetwilioapp-store-connectbitcode

ITMS-90482: Invalid Executable - The executable 'oladoc.app/Frameworks/TwilioVideo.framework/TwilioVideo' contains bitcode


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?


Solution

  • 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