mac 更新系统后 android模拟器不能运行,升级Mojave后,Xcode10启动模拟器后无法运行程序了,怎么办?…

  • Post author:
  • Post category:其他


级别:★☆☆☆☆

标签:「Mojave」「Xcode10」「simulator」

作者: MrLiuQ

审校: QiShare团队

前言:苹果正式发布Mojave系统后不久,小编因垂涎“暗黑模式”,便更新了自己的Mac本。之后发现使用Xcode 10无法在模拟器上跑程序的现象。在检索解决方案无果后,小编怂恿两位同事升级Mojave,同样出现了此问题。

在意识到问题并非个例后,小编反馈给QiShare团队,在经过大量试验后才找到解决方案。故写下本篇文章,希望对大家有所帮助。

一、问题现象:

Xcode现象:在Xcode10运行程序后,一直处于Launching状态无变化(见图1),模拟器能被唤起,但模拟器上的app无法启动。一段时间后,Xcode弹出错误提示(见图2)。

0b2a664aaed6

图1

0b2a664aaed6

图2

图2问题描述如下:

Failed to initiate service connection to simulator

DTServiceHubClient failed to bless service hub for simulator

二、解决方案:

解决方案操作步骤:

1、在Finder中找到应用程序目录下的Xcode,右键显示包内容;

2、在Contents中找到PlugIns文件夹,压缩备份;

3、删除PlugIns文件夹后重启Xcode(无法启动);

4、解压备份的PlugIns至原路径,再重启Xcode。

操作步骤图示如下:

1、在Finder中找到应用程序目录下的Xcode,右键显示包内容(如图3)。

0b2a664aaed6

图3

2、在Contents中找到PlugIns文件夹,压缩备份(如图4)。

0b2a664aaed6

图4

3、删除PlugIns文件夹后重启Xcode(如图5)。

0b2a664aaed6

图5

这时,无法重启Xcode,出现如下警告⚠️(如图6)。

0b2a664aaed6

图6

4、解压备份的PlugIns至原路径,再重启Xcode(如图7)。

0b2a664aaed6

图7

操作完成,问题解决。

PS:虽然解决了问题,但小编并不知道问题的原因,而且还发现,重新启动电脑后,已解决的问题会复现,但仍可以通过上述方案解决。暂时认为这是Mojave的BUG,希望苹果能在下个系统版本中修复这个BUG,也欢迎大家留言探讨。

三、解决思路:

根据Xcode的错误提示(DTServiceHubClient failed to bless service hub for simulator),猜测是更新Xcode后,Xcode的插件出现了问题。于是就先尝试查找安装的第三方插件(~/Library/Developer/Xcode/Plug-ins),发现没有该路径,也就是说没有安装第三方的插件。然后,尝试查找Xcode自身的插件(/Applications/Xcode.app/Contents/PlugIns),把自身插件删除,再重新解压回来后,模拟器就可以正常使用了。

这是目前小编解决这个Mojave与Xcode10模拟器问题的唯一方法。(如果有别的方法,欢迎各路大神留言讨论~)

四、其他方法:(也许其他场景可以用得上)

1. Edit Scheme 检查配置

点击edit scheme检查配置是否正确:

0b2a664aaed6

0b2a664aaed6

2. 重置模拟器

erase all content and settings删除所有模拟器内容和设置。

0b2a664aaed6

小结:目前这是QiShare的唯一解决方案:重新安装Xcode自身插件(ps:之前小编重新安装Xcode都没有用)。希望能临时帮助遇到同样问题的同学解决问题。

了解更多iOS及相关新技术,请关注我们的公众号:

0b2a664aaed6