目的
以前組里的測(cè)試同學(xué)調(diào)到外網(wǎng)項(xiàng)目組去了,因?yàn)闇y(cè)試機(jī)器不夠,所以希望能先把程序在模擬器上跑一遍。
另外,因?yàn)閄Code的慢還真是快要“人神共憤”了,測(cè)試同學(xué)是不是也不需要每天把代碼update到最新版本,然后自己編譯發(fā)布吧?好吧,又想到了自動(dòng)化部署了,MS是可行的,先不想那么遠(yuǎn)了,先解決現(xiàn)在的問(wèn)題再說(shuō)。
解決
早些時(shí)候做iOS開(kāi)發(fā)的時(shí)候,還用過(guò)ios-sim這個(gè)工具,brew之后,發(fā)現(xiàn)不好用,備受打擊。在公司里調(diào)到了7點(diǎn)多還是不成,回家路上甚至想自己找下蘋(píng)果的開(kāi)發(fā)文檔,然后扒一下ios-sim的源代碼,自己寫(xiě)一個(gè)?
好在看了下 XCode6 之后提供了xctool這個(gè)工具,可以做到這些事情:
- 啟動(dòng)一個(gè)模擬器
- 把a(bǔ)pp安裝到啟動(dòng)好的模擬器上面
- 從模擬器上卸載指定的app
贊!就是我做的事情嘛:
根據(jù)實(shí)踐,簡(jiǎn)單的使用如下:
啟動(dòng)運(yùn)行模擬器:
xcrun instruments -w 'iPhone 6 Plus'
在已經(jīng)啟動(dòng)好的模擬器中安裝應(yīng)用:
xcrun simctl install booted Calculator.app
(這里要特別注意,是app,不是ipa 安裝時(shí)需要提供的是APP的文件路徑)
正常情況下,就可以看到,這里已經(jīng)把Calculator這個(gè)app安裝到了模擬器里面。
目前我測(cè)試下來(lái)我之前自己寫(xiě)的一些示例程序都是可以的,但公司的APP會(huì)閃退,初步懷疑是給我的ipa包,打包方式的問(wèn)題,明天去公司再確認(rèn)一下。
卸載APP的命令就比較簡(jiǎn)單了:
xcrun simctl uninstall booted com.yuchang.calculator
卸載時(shí)需要寫(xiě)的是bundle identifier。
xcrun 這個(gè)命令實(shí)際還有很多更高深的玩法,具體直接xcrun --help可以自己學(xué)習(xí)和領(lǐng)悟了,當(dāng)然也可以把上面的幾個(gè)命令組合起來(lái)寫(xiě)個(gè)腳本,實(shí)際提高工作效率。
明天上午先最終確認(rèn)下這個(gè)方法是否可行吧,然后春節(jié)時(shí)有空可以研究一下iOS的自動(dòng)構(gòu)建。:)