Xcode 16 RC validate build bitcode error

I just swapped over to Xcode 16 and archived my build. I have ENABLE_BITCODE = NO in my Build settings (it's listed under user defined settings). When I go to validate the build, I get a failure "Invalid Executable, ***.framework contains bitcode".

Nothing about my project settings has changed. If i swap back to Xcode 15 everything's fine when I validate. One thing I noticed though is that if I go through the process of validating, on the confirmation screen for Xcode 16 RC, the line about Bitcode: Not included does not exist like it does if I hit the confirmation screen in Xcode 15.

Answered by DTS Engineer in 805557022

Bitcode is no longer supported. From the Xcode 15 Release Notes:

Deprecations: Bitcode support has been removed, and the ENABLE_BITCODE build setting no longer has any effect.

You should rebuild any frameworks receiving this message with a recent version of Xcode so that it no longer contains bitcode. If the framework comes from a vendor, contact the vendor for support.

Rebuilding is the preferred solution over running shell scripts to just strip the bitcode, because the error is indicative that the framework hasn't been recompiled since at least Xcode 14, if not something older than that. Recompiling the library offers a good opportunity to ensure its up-to-date with current system requirements, shedding any deprecated APIs, raising deployment targets, and adopting helpful new feature, such as making the framework ready for participation in the world of mergable libraries.

— Ed Ford,  DTS Engineer

I'm getting the same thing when I try to upload a build to ASC. I've had bitcode disabled for a long time and have had no problem making builds as recently as last week.

I can barely find any information on what to actually do to resolve this error. The only thing that came close was some Stack Overflow posts about using .NET Maui

I have the same issue with two dependencies installed using Cocoapods. I asked the vendors if they are aware of this issue because in both cases it's happening with the same framework: OMSDK

Any solutions to this?

you'll have to add this code to strip the bitcode of framework

solution for Invalid Executable, ***.framework contains bitcode

I encountered the same problem with Xcode 16. Unfortunately I can not go back to Xcode 15 because MacOS in my machine is Sequoia now. Never seen it before with Xcode 15 on Sonoma

Try this code in podfile post_install do |installer|

bitcode_strip_path = xcrun --find bitcode_strip.chop! def strip_bitcode_from_framework(bitcode_strip_path, framework_relative_path) framework_path = File.join(Dir.pwd, framework_relative_path) command = "#{bitcode_strip_path} #{framework_path} -r -o #{framework_path}" puts "Stripping bitcode: #{command}" system(command) end

framework_paths = [ "Pods/LibraryA/LibraryA/dynamic/LibraryA.xcframework/ios-arm64_armv7/LibraryA.framework/LibraryA", "Pods/LibraryB/LibraryB.xcframework/ios-arm64_armv7/LibraryB.framework/LibraryB" ]

framework_paths.each do |framework_relative_path| strip_bitcode_from_framework(bitcode_strip_path, framework_relative_path) end end

I'm getting the same thing with this error message, Did anyone find the solution?

asset validation failed invalid executable. the executable 'myapp.app/frameworks/cardio.framework/cardio' contains bitcode.

Bitcode is no longer supported. From the Xcode 15 Release Notes:

Deprecations: Bitcode support has been removed, and the ENABLE_BITCODE build setting no longer has any effect.

You should rebuild any frameworks receiving this message with a recent version of Xcode so that it no longer contains bitcode. If the framework comes from a vendor, contact the vendor for support.

Rebuilding is the preferred solution over running shell scripts to just strip the bitcode, because the error is indicative that the framework hasn't been recompiled since at least Xcode 14, if not something older than that. Recompiling the library offers a good opportunity to ensure its up-to-date with current system requirements, shedding any deprecated APIs, raising deployment targets, and adopting helpful new feature, such as making the framework ready for participation in the world of mergable libraries.

— Ed Ford,  DTS Engineer

Xcode 16 RC validate build bitcode error
 
 
Q