Select to view content in your preferred language

Bitcode enabled in 100.15.x, not accepted by Xcode 16.x

205
2
3 weeks ago
EirikH
by
Regular Contributor

Hi, when uploading an app that uses ArcGIS Runtime 100.15.x to the App Store through Xcode, you now get the following error:

Invalid Executable. The executable 'appname.app/Frameworks/ArcGIS.framework/ArcGIS' contains bitcode.
Invalid Executable. The executable 'appname.app/Frameworks/Runtimecore.framework/Runtimecore' contains bitcode.

Does Esri plan to rebuild the ArcGIS Runtime SDK 100.15.x without bitcode (since Apple deprecated it), and release a new version without bitcode?

For anyone else having this issue you can follow https://stackoverflow.com/a/78999842 with something like this in your Podfile:

 post_install do |installer|
      # https://stackoverflow.com/questions/78993520/invalid-executable-the-executable-appname-app-frameworks-hermes-framework-herm/79000365#79000365
      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/ArcGIS-Runtime-SDK-iOS/ArcGIS.xcframework/ios-arm64/ArcGIS.framework/ArcGIS",
        "Pods/ArcGIS-Runtime-SDK-iOS/Runtimecore.xcframework/ios-arm64/Runtimecore.framework/Runtimecore"
      ]

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

 

0 Kudos
2 Replies
Ting
by Esri Contributor
Esri Contributor

Thanks for asking this question. From what I heard, we aren't likely to rebuild a new patch version to support the new environment (Xcode 16 & iOS 18) as the product is in extended support period.

With some scripting, the bitcode can be removed on your side, am I understanding it correctly?

0 Kudos
EirikH
by
Regular Contributor

Yes, a workaround exists at least for those that use CocoaPods to manage deps, and I have gotten it through Apple review after applying the script above.