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

iOS二进制framework归档报错:无法生成bitcode bundle,framework未含完整bitcode

iOS Framework归档bitcode报错解决方案
  • 首先校验你当前使用的混淆framework本身是否包含全bitcode段,打开终端执行以下命令:
    otool -l 你的Framework可执行文件路径 | grep __bitcode
    
    如果命令无任何输出,说明framework本身未携带全bitcode,仅修改主工程配置无法解决问题。
  • 如果你可以重新编译该framework,按以下配置生成带全bitcode的版本:
    • framework工程的ENABLE_BITCODE设置为YES,同时在Other C Flags、Other C++ Flags中均添加-fembed-bitcode参数
    • 不要使用普通Build操作编译framework,必须通过Xcode Archive操作,或者执行如下命令行install构建生成二进制:
      xcodebuild install -project 你的Framework项目名.xcodeproj -scheme 你的Scheme名 -configuration Release -destination 'generic/platform=iOS' INSTALL_DIR=./输出路径 SKIP_INSTALL=NO
      
    • 如果编译生成的是同时包含模拟器、真机架构的胖二进制,导入主工程归档前必须用lipo命令剥离所有模拟器架构,仅保留arm64真机架构,否则会触发bitcode校验失败。
  • 如果你无法重新编译该framework,或者不需要支持iOS 14及以下系统,直接全局关闭所有工程的bitcode即可:
    • 主工程、所有子依赖工程的ENABLE_BITCODE全部设置为NO
    • 如果使用CocoaPods管理依赖,需要在Podfile中添加如下post_install钩子,确保所有Pod工程的bitcode均被关闭:
      post_install do |installer|
        installer.pods_project.targets.each do |target|
          target.build_configurations.each do |config|
            config.build_settings['ENABLE_BITCODE'] = 'NO'
          end
        end
      end
      
    • 修改完成后执行pod install,清理Xcode缓存(快捷键Command+Shift+K),重启Xcode后重新执行归档操作。

注意:Xcode 14及以上版本已正式废弃bitcode,无特殊兼容需求时直接关闭bitcode是成本最低的解决方案

内容的提问来源于stack exchange,提问作者Abdulrahman Essa

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 06:45:03