最近看到一個開源工具tidevice,是可以脫離mac來做ios自動化測試的。看到這麼方便,就想著來嚐嚐鮮。但由於使用該工具,是需要基於WebDriverAgent的,該工具又需要使用Xcode重簽名安裝。手邊沒有mac電腦,所以就裝個黑蘋果來搗鼓下吧。安裝過程並不順利,也有失敗的經歷。想了想,還是寫篇博文記錄下,也算是爬坑了。
安裝過程一些繁瑣的步驟就不細述了,把爬坑以及注意的地方記錄下。
VMware環境
黑蘋果系統是安裝在虛擬機器中的,所以需要先有VMware。具體的安裝流程,就不多說了,都是正常安裝流程,按部就班往下走就行。
VMware最好使用最新版本,之前我用VMware12,新建虛擬機器的時候,最高版本只能選到MacOS 10.12。但更新成VMware16後,就可以選到10.15版本了。
安裝完成後,需要注意,此時新建虛擬機器,系統是選不到Mac的,那該如何解決呢?我們來看。
unlocker補丁
unlocker補丁,就是用來解決,新建虛擬機器選不到Mac系統的問題。該工具github地址如下:unlocker補丁 ,可以clone或下載zip包。下載後,先別急著使用,需要注意一個地方。
有些博友可能已經有了VMware或者剛安裝的,但可能已經使用過了,這樣的話,會自動啟動4個服務。在打補丁的時候,需要將對應的4個服務給停用掉,具體哪4個,以大寫的VM開頭,如下圖所示:
如果如圖中所示,都是啟用狀態的話,需要先手動停止,不然會導致補丁失敗。
服務停止後,我們開啟unlocker包,裡面有個win-install.cmd可執行檔案,以管理員身份執行,等待程式自動安裝,安裝成功後dos命令視窗會自動關閉。
建立Mac虛擬機器
上個步驟將補丁安裝後,我們開啟VMware軟體,新建虛擬機器,在選系統的時候,可以看到,會多出來一個Apple Mac OS X的選項,如下圖所示:
版本最好選擇最新版,在後續安裝Xcode的時候,需要要求環境是最新版。
還有個注意點,就是磁碟空間需要大一點,我安裝下來,系統更新,安裝Xcode,佔用了60G左右。
後續步驟也一步步對應配置就好,不細述。
安裝系統
建立成功後,是不是有點忍不住?立馬點選開啟虛擬機器,但事實是殘酷了。映入眼簾的是一個報錯彈框,如下所示:
解決辦法:
進入到虛擬機器的檔案路徑,就是建立虛擬機器時,選擇的儲存路徑。找到vmx檔案,用記事本編輯,增加如下配置:smc.version = "0"。
新增後重啟虛擬機器,再次啟用虛擬機器,就正常進入到系統安裝頁面了,如下所示:
到了這,就等待載入完,可以休息一會
載入完後,就進入到了基礎配置,如下所示,按需配置就行
系統安裝時,需要選擇一個安裝磁碟,但只能選到預設磁碟,選其會提示磁碟空間不足。
解決辦法:
在選擇磁碟頁面,有個實用工具入口,如下所示:
我們選擇磁碟工具,會彈出一個彈框,將內建磁碟抹掉,格式選擇為可擴充套件的。
關閉彈框後,我們繼續安裝系統,就有選到我們抹掉的磁碟了,如下所示:
到了這步,就可以喝杯小茶休息下了,我們靜候佳音。
等安裝完成後,會自動重啟並進入設定介面,如下所示:
這裡的後續設定也就跟配置windows系統一樣,登入appleid賬號,配置網路等待。
在設定網路的時候遇到過一個問題,就是連不上網。
解決辦法:
方法一:
將虛擬機器的網路連線方式配置為橋接模式
方法二:
如果使用方法一還不行,就將物理機的網路設定為共享,在網路屬性中配置;再將虛擬機器的網路連線方式配置為 僅主機模式 即可。
安裝VMwareTools
系統安裝完成後,發現安裝不了VMwareTools,提示報錯: 無法在更新伺服器上找到元件。請聯絡 VMware 技術支援或您的系統管理員。
解決辦法:
掛載新的映象檔案(darwin1012.iso),重啟後桌面會展示安裝入口。
重啟後是正常展示了安裝入口,但安裝的時候又提示報錯了,如下所示:
解決辦法:
將虛擬機器中的磁碟彈出,操作如下圖所示:
好了,我們繼續安裝VMwareTools,這下可以正常安裝成功了,如下所示:
但期間如果彈出如下提示:系統擴充套件已被阻止
解決辦法:
我們到系統設定中,將安全性與隱私配置為允許即可。
到此,虛擬機器中的Mac系統就算是安裝成功了。是不是急切的想安裝Xcode試一試了。安裝Xcode我也是爬了好幾個大坑,在這裡也一起記錄下。
Xcode安裝
App Store中搜尋不到Xcode
如果安裝的是低版本系統,比如10.12,開啟App Store是搜尋不到Xcode,然後呢,我就去下載歷史版本的Xcode。比如:Xcode8.1,Xcode9.1來解決
Xcode編譯程式提示不是App Store安裝
做了上述步驟,自己漫長等待下載了Xcode,上傳到虛擬機器中並安裝,拉取程式碼準備編譯時,提示Xcode不是App Store安裝,不能編譯,直接報錯了。
Xcode連線真機一直是未驗證裝置
我們都知道,Xcode連線真機,是需要在手機上信任裝置的,這個步驟驗證後,在Xcode應該顯示為驗證裝置才對,但不好意思,我嘗試的低版本,一直都是未驗證裝置。
如上這些問題,都是在安裝低版本的時候遇到的。所以在博文開篇處,我建議是安裝最新版本。後面我是怎麼解決了這些問題呢?
-
更新VMware版本,更新到了16
-
使用高版本的映象包,在建立虛擬機器的時候,選擇的系統版本是os 10.15
-
Mac系統安裝成功後,先檢測新版本,如果有,則更新
-
系統更新成功後,使用App store 搜尋Xcode並安裝
-
使用Xcode編譯程式碼,一起正常
-
使用Xcode連線真機,也一起正常。只是首次連線,會自動下載對應真機版本的包,需要等待會
剛才談到的這3個問題,在系統是最新版本的情況下,並且是在APP store中安裝Xcode,得到了解決。
在爬坑的過程中,的確是有點難受。
最後附上安裝黑蘋果需要使用到的工具連結,希望對有需要的朋友有所幫助。
連結: https://pan.baidu.com/s/1XUahhv5c0Zs9A2zP9_Ns2w 提取碼: qqnm