在IOS測試工作中有很多童鞋都在用PP助手一類的工具安裝ipa包译仗,當(dāng)然這些都是基于手工操作的杯聚。但是如果我們要實(shí)現(xiàn)持續(xù)集成+自動化的方式進(jìn)行IOS自動化測試,這種方式就不可行了翰撑。我們需要一種通過命令行的方式來安裝ipa包犁嗅,這個工具就是今天我們要講的ideviceinstaller。
我們先安裝ideviceinstaller:
1. 打開終端(控制臺)缔赠,輸入下面命令并運(yùn)行:
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" < /dev/null 2> /dev/null
2. 等待結(jié)束后運(yùn)行(為了防止之前安裝過衍锚,先卸載;如果沒有裝過可以跳過前兩步):
brew uninstall ideviceinstaller
brew?uninstall?libimobiledevice
brew?install?--HEAD?libimobiledevice
brew?link?--overwrite?libimobiledevice
brew?install?ideviceinstaller
brew?link?--overwrite?ideviceinstaller
* 在使用中如果遇到Could not connect to lockdownd. Exiting錯誤可以試試升級libusbmuxd并重新運(yùn)行2解決嗤堰。
升級libusbmuxd方法(https://blog.csdn.net/ZuoWeiXiaoDuZuoZuo/article/details/83413074):
brew uninstall --ignore-dependencies libimobiledevice
brew uninstall --ignore-dependencies usbmuxd
brew install --HEAD usbmuxd
brew unlink usbmuxd
brew link usbmuxd
* 如果遇到ruby版本過低等情況需要升級ruby并確贝髦剩可以使用
接下來就來看看如何使用ideviceinstaller:
可以看到,ideviceinstaller提供了安裝踢匣,卸載置森,通過UDID定位等基礎(chǔ)功能,基本上可以滿足我們的自動化安裝需要符糊。
運(yùn)行:ideviceinstaller -i your_ipa_path
ideviceinstaller -i /Users/companymacos/Downloads/xxxx.ipa
如果連接了多部手機(jī)需要分別安裝時,請使用UDID指定:ideviceinstaller -u your_iphone_udid -i your_ipa_path
ideviceinstaller -u E32X1D9D-9EX5-4AXC-820D-XXXXXXXXXXX -i /Users/companymacos/Downloads/xxxx.ipa
如果在安裝最后遇到Segmentation fault: 11這種問題呛凶,應(yīng)該是手機(jī)系統(tǒng)的版本和ideviceinstaller支持的版本不匹配男娄,但是我發(fā)現(xiàn)這并不影響安裝成功。