Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Flutter - OpenSSL Bitcode is not working for Xcode 16 Builds

I'm trying to upload a new build to AppStore after updating to Xcode 16, but unfortunately I keep getting this issue from the Xcode uploader:

Asset validation failed (90482) Invalid Executable. The executable 'Runner.app/Frameworks/OpenSSL.framework/OpenSSL' contains bitcode. (ID: 769a1928-0b74-4b3d-b58a-0cb36799d1df)

I've tried many possible solutions, like strip the bitcode manually, and change the Enable_Bitcode to be NO. But nothing worked.

Everytime I try to strip the bitcode for the OpenSSL, I'm getting this message from the terminal:

can't map file: /Users/XXXX/XXX/ios/Pods/OpenSSL-Universal/Frameworks/OpenSSL.xcframework (Invalid argument) Integrating client project

Any suggestions?

I'm using Flutter 3.16.1, and I'm not willing to update at the moment.

like image 608
Abdulrahman Alhayek Avatar asked Sep 01 '26 16:09

Abdulrahman Alhayek


2 Answers

[Solved] This Answer Fixed My Issue https://stackoverflow.com/a/79030093 but Additonally need to add Framework Details Like Here i am Writting for OpenSSL

Ex : "Pods/OpenSSL-Universal/Frameworks/OpenSSL.xcframework/ios-arm64_arm64e_armv7_armv7s/OpenSSL.framework/OpenSSL"

Follow this for more instructions https://medium.com/@abdulahad2024/fixing-bitcode-issues-in-xcode-16-how-to-resolve-invalid-executable-errors-when-uploading-ios-da07a5a39c7c

like image 191
Krunal Vaghela Avatar answered Sep 04 '26 07:09

Krunal Vaghela


On Xcode 16

Add this code inside of post_install

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/OpenSSL-Universal/Frameworks/OpenSSL.xcframework/ios-arm64_arm64e_armv7_armv7s/OpenSSL.framework/OpenSSL",
  "Pods/hermes-engine/destroot/Library/Frameworks/macosx/hermes.framework/hermes",
  "Pods/hermes-engine/destroot/Library/Frameworks/macosx/hermes.framework/Versions/Current/hermes",
  "Pods/hermes-engine/destroot/Library/Frameworks/universal/hermes.xcframework/ios-arm64/hermes.framework/hermes",
  "Pods/hermes-engine/destroot/Library/Frameworks/universal/hermes.xcframework/ios-arm64_x86_64-maccatalyst/hermes.framework/hermes"
]

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

Line: Pods/OpenSSL-Universal/Frameworks/OpenSSL.xcframework/ios-arm64_arm64e_armv7_armv7s/OpenSSL.framework/OpenSSL will to resolve your issue

like image 40
Châu Nguyễn Avatar answered Sep 04 '26 07:09

Châu Nguyễn



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!