更新到 Xcode 11 后,模拟器无法启动
更新到 Xcode 11 beta 1 后,每次启动模拟器时都会抛出以下异常,并且模拟器不启动。 所有模拟器都发生此情况。
Exception
Foundation.ObjCException: NSInvalidArgumentException: -[SimDevice registerNotificationHandler:]: unrecognized selector sent to instance 0x7ffbf5d1e110
解决方法
在发布修补程序之前,可以按照以下步骤重新安装旧模拟器框架,以便开发人员能够继续工作:
注意
这些步骤假定你有两个 Xcode 应用程序:
- Xcode11-beta1.app – 不适用于模拟器和 Visual Studio for Mac 的 beta 版本。
- Xcode102.app – Xcode 10 的稳定版本。 你可能还会调用 Xcode.app。
根据配置更改下面的命令行示例。
确保通过 xcode-select 选择了 Xcode 11:
sudo xcode-select -s /Applications/Xcode11-beta1.app/Contents/Developer/
根据需要运行首次安装工具。
/Applications/Xcode11-beta1.app/Contents/Developer/usr/bin/xcodebuild -runFirstLaunch
删除以下框架:
sudo rm -Rf /Library/Developer/PrivateFrameworks/CoreSimulator.framework/Versions/*
切换回旧的 Xcode 版本
sudo xcode-select -s /Applications/Xcode102.app/Contents/Developer/
为刚刚选择的旧 Xcode 版本重新运行首次启动工具
/Applications/Xcode102.app/Contents/Developer/usr/bin/xcodebuild -runFirstLaunch
执行这些步骤后,应该能够再次使用 iOS 模拟器。