級別:★☆☆☆☆
標(biāo)簽:「Mojave」「Xcode10」「simulator」
作者: MrLiuQ
審校: QiShare團隊
前言:蘋果正式發(fā)布Mojave系統(tǒng)后不久,小編因垂涎“暗黑模式”,便更新了自己的Mac本。之后發(fā)現(xiàn)使用Xcode 10無法在模擬器上跑程序的現(xiàn)象。在檢索解決方案無果后,小編慫恿兩位同事升級Mojave,同樣出現(xiàn)了此問題。
在意識到問題并非個例后,小編反饋給QiShare團隊,在經(jīng)過大量試驗后才找到解決方案。故寫下本篇文章,希望對大家有所幫助。
一、問題現(xiàn)象:
Xcode現(xiàn)象:在Xcode10運行程序后,一直處于Launching狀態(tài)無變化(見圖1),模擬器能被喚起,但模擬器上的app無法啟動。一段時間后,Xcode彈出錯誤提示(見圖2)。
圖2問題描述如下:
Failed to initiate service connection to simulator
DTServiceHubClient failed to bless service hub for simulator
二、解決方案:
解決方案操作步驟:
1、在Finder中找到應(yīng)用程序目錄下的Xcode,右鍵顯示包內(nèi)容;
2、在Contents中找到PlugIns文件夾,壓縮備份;
3、刪除PlugIns文件夾后重啟Xcode(無法啟動);
4、解壓備份的PlugIns至原路徑,再重啟Xcode。
操作步驟圖示如下:
- 1、在Finder中找到應(yīng)用程序目錄下的Xcode,右鍵顯示包內(nèi)容(如圖3)。
- 2、在Contents中找到PlugIns文件夾,壓縮備份(如圖4)。
- 3、刪除PlugIns文件夾后重啟Xcode(如圖5)。
- 這時,無法重啟Xcode,出現(xiàn)如下警告??(如圖6)。
- 4、解壓備份的PlugIns至原路徑,再重啟Xcode(如圖7)。
- 操作完成,問題解決。
PS:雖然解決了問題,但小編并不知道問題的原因,而且還發(fā)現(xiàn),重新啟動電腦后,已解決的問題會復(fù)現(xiàn),但仍可以通過上述方案解決。暫時認為這是Mojave的BUG,希望蘋果能在下個系統(tǒng)版本中修復(fù)這個BUG,也歡迎大家留言探討。
三、解決思路:
根據(jù)Xcode的錯誤提示(DTServiceHubClient failed to bless service hub for simulator
),猜測是更新Xcode后,Xcode的插件出現(xiàn)了問題。于是就先嘗試查找安裝的第三方插件(~/Library/Developer/Xcode/Plug-ins
),發(fā)現(xiàn)沒有該路徑,也就是說沒有安裝第三方的插件。然后,嘗試查找Xcode自身的插件(/Applications/Xcode.app/Contents/PlugIns
),把自身插件刪除,再重新解壓回來后,模擬器就可以正常使用了。
這是目前小編解決這個Mojave與Xcode10模擬器問題的唯一方法。(如果有別的方法,歡迎各路大神留言討論~)
四、其他方法:(也許其他場景可以用得上)
1. Edit Scheme 檢查配置
點擊edit scheme
檢查配置是否正確:
2. 重置模擬器
erase all content and settings
刪除所有模擬器內(nèi)容和設(shè)置。
小結(jié):目前這是QiShare的唯一解決方案:重新安裝Xcode自身插件(ps:之前小編重新安裝Xcode都沒有用)。希望能臨時幫助遇到同樣問題的同學(xué)解決問題。
了解更多iOS及相關(guān)新技術(shù),請關(guān)注我們的公眾號:
關(guān)注我們的途徑有:
QiShare(簡書)
QiShare(掘金)
QiShare(知乎)
QiShare(GitHub)
QiShare(CocoaChina)
QiShare(StackOverflow)
QiShare(微信公眾號)