Xcode 12创建的通用App缺失「使用Rosetta打开」选项,求解决方案
解决通用应用「使用Rosetta打开」选项不显示的问题
核心原因
当应用同时包含arm64和x86_64双架构时,搭载Apple Silicon芯片的Mac会优先调用原生arm64架构运行,因此不会默认显示「使用Rosetta打开」选项——该选项仅在应用仅含x86_64架构,或系统判定需强制转译时才会出现。
强制显示选项的方法
如果确实需要让用户能选择用Rosetta打开,可通过修改Info.plist实现:
- 打开项目的
Info.plist文件 - 添加新的键值对:
- 键:
LSRequiresNativeExecution - 类型:Boolean(布尔值)
- 值:
NO
- 键:
重新打包应用后,右键点击应用选择「显示简介」,就能看到「使用Rosetta打开」的复选框了。
验证修改效果
可通过终端命令确认修改是否生效:
defaults read /路径/到/你的应用.app/Contents/Info.plist LSRequiresNativeExecution
输出为0(对应布尔值NO)即说明设置成功。
注意事项
该设置会让系统判定应用不强制要求原生arm64执行,仅在应用存在arm64兼容问题等必要场景下使用即可。
内容的提问来源于stack exchange,提问作者gil_mo
相关产品推荐
相关产品推荐

