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

M1芯片MacBook Air+Xcode14归档arm64时Alamofire无Bitcode报错

解决Alamofire 4.9.1 + Carthage + M1 Mac归档arm64设备的Bitcode错误

问题根源

Alamofire 4.9.1是老版本,官方预编译的framework没给M1的arm64架构开启Bitcode,而Xcode 14归档时对Bitcode的校验更严格,单纯修改自己项目的ENABLE_BITCODE设置无法覆盖第三方库的配置。

解决办法

1. 强制Carthage本地编译Alamofire并启用Bitcode

在终端执行以下命令,强制跳过预编译包,本地编译时注入Bitcode启用参数:

CARTHAGE_BUILD_FLAGS="--configuration Release --platform iOS --arch arm64" ENABLE_BITCODE=YES carthage update Alamofire --no-use-binaries

若你的Carthage版本支持xcframework,可额外添加--use-xcframeworks参数,适配M1架构更顺畅。

2. 彻底关闭所有目标的Bitcode

只修改项目主target的设置没用,需确保所有相关目标的Bitcode都关闭:

  • 打开项目Build Settings,搜索ENABLE_BITCODE,将主target、Carthage引入的Alamofire对应的target(在Carthage的项目文件内)的该选项全部设为NO
  • 检查归档配置:执行Product > Archive前,确认当前Scheme的Release配置中,Bitcode处于关闭状态

3. 升级Alamofire到新版本

Alamofire 5及以上版本已适配M1架构,对Xcode 14的兼容性更好,若项目允许升级,直接执行以下命令拉取最新稳定版:

carthage update Alamofire --use-xcframeworks

4. 排除冲突架构

若编译时出现arm64与x86_64的架构冲突,在项目Build Settings的Excluded Architectures中,给Release配置添加x86_64,确保归档仅编译arm64架构。

内容的提问来源于stack exchange,提问作者khan rayyan

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.28 09:05:11