You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Xcode 16上传App Store失败:Bitmovin Player含Bitcode问题

解决Xcode 16上传App Store时Bitmovin Player框架含Bitcode的ITMS-90482错误

问题背景

升级到Xcode 16后,上传应用至App Store Connect时收到错误:

ITMS-90482: Invalid Executable - The executable ‘YourApp.app/Frameworks/BitmovinPlayer.framework/BitmovinPlayer’ contains bitcode.

Apple从Xcode 14开始弃用Bitcode,Xcode 16完全拒绝含Bitcode的构建包,以下针对你的问题逐一解答:

1. Bitmovin是否提供不含Bitcode的iOS SDK更新版本?

是的,Bitmovin的iOS Player SDK从v3.29.0版本开始已默认移除Bitcode,后续所有稳定版都不再包含Bitcode。如果你的CocoaPods检查更新未获取到对应版本,建议:

  • 检查Podfile中是否设置了旧版本限制,将版本改为'~> 3.29'或最新稳定版
  • 执行pod repo update刷新本地Pod仓库后,再执行pod update BitmovinPlayer

2. 若没有,从预编译框架中移除Bitcode的推荐方法是什么?

如果暂时无法升级SDK,可通过以下步骤手动移除未加密预编译框架中的Bitcode:

  1. 拆分框架架构:将多架构可执行文件拆分为单个架构文件
    lipo -extract arm64 YourApp.app/Frameworks/BitmovinPlayer.framework/BitmovinPlayer -o BitmovinPlayer-arm64
    lipo -extract x86_64 YourApp.app/Frameworks/BitmovinPlayer.framework/BitmovinPlayer -o BitmovinPlayer-x86_64
    
  2. 剥离单个架构的Bitcode:对每个拆分后的文件执行Bitcode移除操作
    xcrun bitcode_strip BitmovinPlayer-arm64 -r -o BitmovinPlayer-arm64-stripped
    xcrun bitcode_strip BitmovinPlayer-x86_64 -r -o BitmovinPlayer-x86_64-stripped
    
  3. 合并处理后的架构:将单个架构文件重新合并为多架构文件
    lipo -create BitmovinPlayer-arm64-stripped BitmovinPlayer-x86_64-stripped -o BitmovinPlayer-stripped
    
  4. 替换原框架文件:将合并后的BitmovinPlayer-stripped替换掉原框架中的可执行文件

如果执行bitcode_strip时提示操作无效,说明框架经过加密处理,这种情况下只能升级到官方无Bitcode的版本。

3. 有没有人成功在Xcode 16中搭配Bitmovin Player上传应用且未遇到该问题?

大量开发者已成功解决此问题,核心方案为:

  • 升级Bitmovin Player SDK到v3.29.0及以上版本
  • 确保项目全局关闭Enable Bitcode设置(包括项目Target和Pods的Target)

满足以上两个条件后,即可正常在Xcode 16中构建并上传应用至App Store Connect。

内容的提问来源于stack exchange,提问作者Gaurav Singh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.14 00:38:11