发现一篇很有用的帖子转发一下原贴:新版本 Xcode 在 Rosetta 下运行模拟器
什么是 Rosetta 环境
Rosetta 其实是一个翻译过程,苹果发布了自研 M 系列芯片之后,架构变成了 arm64,老的芯片是基于 x86_64,为了允许用户在苹果芯片上运行包含 x86_64 架构的应用程序,才有了 Rosetta,因此 Rosetta 旨在简化老芯片向 Apple 芯片的过渡。
老版本 Xcode 运行 Rosetta 环境
在 Apple 的 M 系列芯片的电脑上运行代码的时候,如果应用运行尚不支持 arm64 体系结构的旧插件,通常会报这个错:
building for iOS Simulator, but linking in object file built for iOS, xxx for architecture arm64
临时解决这个问题的办法是打开 Rosetta 环境,打开 Xcode 所在目录,鼠标右键,显示简介,这里有个使用 Rosetta 打开的选项,勾选之后重启 Xcode 即可。
Xcode 14.3 中打开 Rosetta 环境
当升级到 Xcode 14.3,发现显示简介中的这个选项没有了:
当大家以为苹果要强制废弃对老架构的支持时,发现 Xcode 只是换了另一种方式管理这个选项而已。
要在 Rosetta 模拟器上运行应用程序,你需要执行以下操作。
转到菜单栏中的“Product”菜单,然后选择 Destination > Destination Architectures > Show Rosetta Destinations。
之后在模拟器旁边的括号中看到架构。在这种情况下,模拟器后显示 Rosetta。
除此之外,你还可以在 Product 菜单中选择 Destination > Destination Architectures > Show Both,这样模拟器既可以在 Apple 架构运行又可以在 Rosetta 版本的模拟器中运行
作者:iOS新知
链接:juejin.cn/post/724745…
来源:稀土掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。