上周五买了新的MacBook pro,从头开始配置开发环境,下载了Xcode26.2,刚开始一切都正常,但是编译Destinations始终没有可用的模拟器,后来发现是项目的Building Settings里的Excluded Architectures里面设置的arm64,apple silicon芯片的模拟器都是arm64的,导致没有可用的模拟器,但是项目依赖太多,很多旧的库并没有更新没办法把这个删掉,后来又查了很多Apple的文档,发现xcode现在会有两种模拟器运行时,一种universal,一种arm64,而默认的是arm64,因此我只能命令行下载universal类型的模拟器运行时(rosetta),具体的命令行:
xcodebuild -downloadPlatform <iOS|watchOS|tvOS|visionOS> [-exportPath <destinationpath> -buildVersion <osversion> -architectureVariant <universal|arm64>]
下载以后,清除已有的模拟器:
# 1. 列出所有模拟器,确认无效模拟器的UUID和状态
xcrun simctl list devices
# 2. 删除这个无效的模拟器(替换为你的UUID)
xcrun simctl delete 75F6395D-A60F-4442-BF5F-D56A4B2B7A75
# 3. 若提示“设备不存在”,先清理所有不可用模拟器
xcrun simctl delete unavailable
# 4. 重置CoreSimulator服务,确保缓存同步
sudo killall -9 com.apple.CoreSimulator.CoreSimulatorService
launchctl start com.apple.CoreSimulator.CoreSimulatorService
然后安装此模拟器运行时
xcrun simctl runtime add "~/Downloads/xxx.dmg"
参考文档:https://developer.apple.com/documentation/technotes/tn3117-resolving-build-errors-for-apple-silicon
参考文档:https://developer.apple.com/documentation/xcode/downloading-and-installing-additional-xcode-components?f_link_type=f_linkinlinenote&flow_extra=eyJpbmxpbmVfZGlzcGxheV9wb3NpdGlvbiI6MCwiZG9jX3Bvc2l0aW9uIjowLCJkb2NfaWQiOiI4MGU5OGNhODQ2Yzc1OTZkLTIxMzBlYjU1NWYzOTM5NWIifQ%3D%3D