Xcode 16 上传AppStore遇到第三方库 bitcode 的问题

Xcode 16 上传AppStore遇到第三方库 bitcode 的问题

  • [最近两天更新了Xcode 16,然后正好要发布新版本的App,打包Adhoc没问题,但是上传AppStoreConnect或者TestFlight就不行](#最近两天更新了Xcode 16,然后正好要发布新版本的App,打包Adhoc没问题,但是上传AppStoreConnect或者TestFlight就不行)

最近两天更新了Xcode 16,然后正好要发布新版本的App,打包Adhoc没问题,但是上传AppStoreConnect或者TestFlight就不行

报错内容大概是说,我通过cocoapods引入的某个第三方库,enableBitcode为true,大家知道bitcode其实在Xcode 14的时候已经被废弃了。Xcode 16可能更为严格一些,目前来说在Xcode 15上面依然能够成功上传的,但Xcode 16不行。

解决方案

直接在终端中使用如下命令:

OC 复制代码
xcrun bitcode_strip -r YourFramework.framework/YourFramework -o YourFramework.framework/YourFramework

在我的项目中,报错的是网易七鱼SDK中的NIMSDK.framework,所以,我会打开终端,然后cd到目录下:xxx项目名称/Pods/NIMSDK_LITE/NIMSDK

NIMSDK.framework就在上述目录下。所以使用如下命令:

参考资料

https://discuss.bitrise.io/t/xcode-16-known-issues/24484

该文章还提供了直接修改podfile的方式,该方式我尝试了没有成功,况且可以直接用上面的命令来暂时解决,就直接用比较方便。毕竟pod之后一定会更新的,新版本就不需要那个脚本了应该。如果报错的framework恰好是很久很久不更新的那种,那么就可以尝试使用脚本的方式来实现了。

ruby 复制代码
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
相关推荐
openinstall全渠道统计9 小时前
免填邀请码工具:赋能六大核心场景,重构App增长新模型
android·ios·harmonyos
早起的年轻人13 小时前
Flutter CupertinoNavigationBar iOS 风格导航栏的组件
flutter·ios
貂蝉空大16 小时前
uni-app开发安卓和ios app 真机调试
android·ios·uni-app
胖虎116 小时前
iOS 中的圆角与平滑圆角:从新特性到老项目适配
ios·圆角·平滑圆角·cornercurve
志飞16 小时前
ios UICollectionView使用自定义UICollectionViewCell
ios·collectionview·自定义cell
闲猫21 小时前
go WEB框架
前端·golang·web·xcode
Neo Evolution1 天前
Flutter与移动开发的未来:谷歌的技术愿景与实现路径
android·人工智能·学习·ios·前端框架·webview·着色器
B.-1 天前
在 Flutter 中实现文件读写
开发语言·学习·flutter·android studio·xcode
没头脑的ht2 天前
ios App的启动过程和启动优化
ios
敲代码的鱼哇2 天前
设备唯一ID获取,支持安卓/iOS/鸿蒙Next(uni-device-id)UTS插件
android·ios·uniapp·harmonyos