求助:Apple Silicon M1 Pro无需Rosetta构建Intel旧项目失败
解决Intel创建项目无法停用Rosetta的方案
调整项目架构配置
- 打开项目的Build Settings,搜索
Architectures:- 将
Architectures设置为Standard Architectures (arm64, x86_64) - 清空
Valid Architectures中除arm64、x86_64之外的旧架构(如i386)
- 将
- 找到
Build Active Architecture Only,Debug模式设为Yes,Release模式设为No
- 打开项目的Build Settings,搜索
配置Xcode与项目部署目标
- 关闭Xcode的Rosetta运行:找到应用程序中的Xcode,右键「显示简介」,取消勾选「使用Rosetta打开」,重启Xcode
- 检查项目的Deployment Target(对应平台,如iOS/macOS),确保版本支持arm64架构(iOS 11+、macOS 11+均支持)
修复第三方依赖架构问题
- 若使用CocoaPods管理依赖,执行以下命令重新拉取适配架构的库:
pod deintegrate pod install - 手动导入的静态/动态库,替换为支持arm64的通用架构版本,或重新编译该库的arm64架构包
- 若使用CocoaPods管理依赖,执行以下命令重新拉取适配架构的库:
清理项目缓存
- 使用快捷键
Command + Shift + K清理项目,Command + Option + Shift + K清理构建缓存 - 删除Derived Data:在Xcode的Preferences > Locations中找到Derived Data路径,手动删除整个文件夹
- 使用快捷键
检查Info.plist配置
- 确认
LSRequiresIPhoneOS(iOS项目)设为YES - 若存在
UIRequiredDeviceCapabilities,确保包含arm64字段
- 确认
完成以上步骤后,选择Apple Silicon设备或arm64真机编译运行。若仍报错,聚焦报错信息中提及的具体库,针对性排查该库的架构兼容性。
内容的提问来源于stack exchange,提问作者Gonzalo MR
相关产品推荐
相关产品推荐

