如何构建适用于arm64模拟器的Xcode iOS静态库?
解决Apple Silicon Mac上Xcode模拟器arm64静态库构建问题
检查项目架构配置
打开项目Target的Build Settings,找到Architectures:- 将
Architectures设置为Standard Architectures (arm64, x86_64),或直接指定arm64 - 若显示
Valid Architectures选项,添加arm64到列表中(新版本Xcode默认隐藏该选项,可通过搜索"Valid Architectures"并勾选"Show"显示)
- 将
修改模拟器架构排除规则
在Build Settings中找到Excluded Architectures:- 针对Debug、Release等配置,删除模拟器条目下的
arm64(若存在),保持该字段为空 - 注意:如果项目包含Mac Catalyst目标,不要排除其arm64架构
- 针对Debug、Release等配置,删除模拟器条目下的
确保Xcode以原生arm64模式运行
- 右键Dock中的Xcode图标,选择
Get Info - 取消勾选
Open using Rosetta,重启Xcode后重新构建
- 右键Dock中的Xcode图标,选择
命令行强制构建arm64架构
若GUI设置无效,直接用命令行指定架构构建:xcodebuild -target YourTargetName -configuration Release -sdk iphonesimulator ARCHS=arm64 ONLY_ACTIVE_ARCH=NO构建完成后,用以下命令验证架构:
lipo -info path/to/your/static/library.a检查依赖库架构兼容性
确认静态库依赖的所有第三方库均支持arm64模拟器架构,否则会导致最终产物仅包含x86_64架构
内容的提问来源于stack exchange,提问作者Doug Null
相关产品推荐
相关产品推荐

