升級Mojave後,Xcode10啟動模擬器後無法執行程式了,怎麼辦?

QiShare發表於2018-10-11

級別:★☆☆☆☆
標籤:「Mojave」「Xcode10」「simulator」
作者: MrLiuQ
審校: QiShare團隊

前言:蘋果正式釋出Mojave系統後不久,小編因垂涎“暗黑模式”,便更新了自己的Mac本。之後發現使用Xcode 10無法在模擬器上跑程式的現象。在檢索解決方案無果後,小編慫恿兩位同事升級Mojave,同樣出現了此問題。 在意識到問題並非個例後,小編反饋給QiShare團隊,在經過大量試驗後才找到解決方案。故寫下本篇文章,希望對大家有所幫助。

一、問題現象:

Xcode現象: 在Xcode10執行程式後,一直處於Launching狀態無變化(見圖1),模擬器能被喚起,但模擬器上的app無法啟動。一段時間後,Xcode彈出錯誤提示(見圖2)。

圖1

圖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)。

圖3

  • 2、在Contents中找到PlugIns資料夾,壓縮備份(如圖4)。

圖4

  • 3、刪除PlugIns資料夾後重啟Xcode(如圖5)。

圖5

  • 這時,無法重啟Xcode,出現如下警告⚠️(如圖6)。

圖6

  • 4、解壓備份的PlugIns至原路徑,再重啟Xcode(如圖7)。

圖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檢查配置是否正確:

升級Mojave後,Xcode10啟動模擬器後無法執行程式了,怎麼辦?

升級Mojave後,Xcode10啟動模擬器後無法執行程式了,怎麼辦?

2. 重置模擬器

erase all content and settings刪除所有模擬器內容和設定。

升級Mojave後,Xcode10啟動模擬器後無法執行程式了,怎麼辦?

小結:目前這是QiShare的唯一解決方案:重新安裝Xcode自身外掛(ps:之前小編重新安裝Xcode都沒有用)。希望能臨時幫助遇到同樣問題的同學解決問題。


關注我們的途徑有:
QiShare(簡書)
QiShare(掘金)
QiShare(知乎)
QiShare(GitHub)
QiShare(CocoaChina)
QiShare(StackOverflow)
QiShare(微信公眾號)


推薦文章:
iOS 推送通知
給你的動畫加點料:談談AnimationWorklet

相關文章