I am trying to distribute my iOS application built with Xcode 16 targeting iOS 18, but the upload to the App Store is failing due to asset validation errors related to bitcode in certain frameworks.
Error Messages:
Question: How can I resolve these asset validation errors when distributing an app that includes third-party frameworks with bitcode on iOS 18 and Xcode 16? Is there a known compatibility issue with bitcode in this environment or specific steps I should follow to troubleshoot this?
Any advice or guidance would be greatly appreciated. Thank you!
I have already tried the following without success:
I got same issue with my MoeEngage, i solve by adding some code on Podfile, maybe you can modify the framework_paths for your frameworks
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/MoEngage-iOS-SDK/Frameworks/MoEngage.xcframework/ios-arm64_armv7/MoEngage.framework/MoEngage",
"Pods/MoEngage-iOS-SDK/Frameworks/MOAnalytics.xcframework/ios-arm64_armv7/MOAnalytics.framework/MOAnalytics",
"Pods/MoEngage-iOS-SDK/Frameworks/MoEngageCore.xcframework/ios-arm64_armv7/MoEngageCore.framework/MoEngageCore",
"Pods/MoEngage-iOS-SDK/Frameworks/MOMessaging.xcframework/ios-arm64_armv7/MOMessaging.framework/MOMessaging",
"Pods/MORichNotification/Frameworks/MORichNotification.xcframework/ios-arm64_armv7/MORichNotification.framework/MORichNotification"
]
framework_paths.each do |framework_relative_path|
strip_bitcode_from_framework(bitcode_strip_path, framework_relative_path)
end
end
To know the framework location, go to your pods directory in your project from the terminal. In my case i have to disable the bitcode from SkaleKit framework so I have to reach down inside SkaleKit.framework directory to find the exact path.
Once you have the exact path then go to the root directory of the pods folder and type the following command in terminal:
xcrun bitcode_strip -r SkaleKit/Frameworks/SkaleKit.framework/SkaleKit \
-o SkaleKit/Frameworks/SkaleKit.framework/SkaleKit
If success then clean and rebuild and upload again.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With