概述:
ideviceinstaller 是一個命令行工具(類似android的adb),主要用於管理iOS設備上應用程序的安裝與卸載,以及查看相關信息
ideviceinstaller官網:https://github.com/libimobiledevice/ideviceinstaller
安裝:
$brew install ideviceinstaller
查看所連接的ios設備里已安裝的應用信息:
$ideviceinstaller -l
如果執行時報如下錯誤:,徹底解決辦法:
$brew uninstall ideviceinstaller $brew uninstall libimobiledevice $brew install --HEAD libimobiledevice $brew link --overwrite libimobiledevice $brew install ideviceinstaller $brew link --overwrite ideviceinstaller
執行成功如下圖:
安裝app到設備:
$ideviceinstaller -i xx.ipa
執行成功如下圖:
常見問題:
1.出現brew command not found錯誤的解決方法
mac 終端下,執行以下命令,即可安裝brew:
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
在終端環境下,brew --version 查看brew的版本,也可以驗證brew是否安裝成功
備注:raw.githubusercontent.com是國外的源不穩定,可以嘗試國內的源 /bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"
======================================================mac下的設備命令========================================================
獲取設備的的UDID
- idevice_id --list # 顯示當前所連接設備的 udid
- instruments -s devices # 列出所有設備,包括真機、模擬器、mac
- ideviceinfo 可以在返回的數據中找到 udid
- idevice_id -l
- 蘋果手機 safari打開網址http://fir.im/udid 就看到了
安裝某個app
- ideviceinstaller -i apppath 安裝apppath下的app
-
ideviceinstaller -i xxx.ipa //命令安裝一個ipa文件到手機上,如果是企業簽名的,非越獄機器也可以直接安裝了。
- ideviceinstaller -u [udid] -i [xxx.ipa] # xxx.ipa 為應用在本地的路徑
卸載應用
- ideviceinstaller -u [udid] -U [bundleId] 卸載應用,需要知道此應用的bundleID
-
ideviceinstaller -U <bundleId>
查看設備已安裝的應用
- ideviceinstaller -u [udid] -l # 查看設備安裝的第三方應用
- ideviceinstaller -u [udid] -l -o list_user # 同上,查看設備安裝的第三方應用
- ideviceinstaller -u [udid] -l -o list_system # 查看設備安裝的系統應用
- ideviceinstaller -u [udid] -l -o list_all # 查看設備安裝的所有應用
獲取設備信息
- ideviceinfo -u [udid] # 獲取設備信息
- ideviceinfo -u [udid] -k DeviceName # 獲取設備名稱 同命令 idevicename
- idevicename # 同上
- ideviceinfo -u [udid] -k ProductVersion # 獲取設備版本 10.3.3
- ideviceinfo -u [udid] -k ProductType # 獲取設備類型 iPhone 8,1
- ideviceinfo -u [udid] -k ProductName # 獲取設備系統名稱
其他系統文件信息
- ideviceinfo # 獲取設備所有信息
- idevicesyslog # 獲取設備日志
- idevicecrashreport -e test # 獲取設備 crashlog,test 是文件夾需新建
- idevicediagnostics # 管理設備狀態 - 重啟、關機、睡眠等
ios-deploy 常用命令
- ios-deploy -c # 查看當前鏈接的設備
- ios-deploy --[xxx.app] # 安裝APP
- ios-deploy --id [udid] --uninstall_only --bundle_id 包名 # 卸載應用
- ios-deploy --id [udid] --list_bundle_id # 列出所有應用的包名
- ios-deploy --id [udid] --exists --bundle_id 包名# 指定設備查看應用是否安裝 (如ios-deploy --id 95923223205 --exists --bundle_id com.dlte.666)
- ios-deploy -e --bundle_id 包名 #不指定設備判斷是否安裝此包(用於只有一台手機)
列舉設備安裝的應用:
- ideviceinstaller -l則可以列出手機上所有的用戶安裝的app
運行某個app
- idevicedebug run 'APP_BUNDLE_ID'可以直接launch某個app,當然,這個app必須是你通過development證書build到手機上的才行。
獲取手機的設備版本:
- Ideviceinfo -k ProductVersion
獲取手機的設備名:
- ideviceinfo -k ProductType
截圖:
- idevicescreenshot
錄像:
- xrecord --quicktime --list
- xrecord --quicktime --name="iPhone" --out="/Users/blah/video/iphone.mp4" --force
相關連接:
https://blog.csdn.net/weixin_30678349/article/details/99148931 ....................Android和iOS常用命令學習
https://blog.csdn.net/g19920917/article/details/47952803 .........................iOS自動化常用命令集合
https://blog.csdn.net/weixin_39246787/article/details/80564457 ......................IOS自動化App測試-安裝app指令
https://blog.csdn.net/AirtestProject/article/details/103489723 ........................IOS的airtest環境
https://blog.csdn.net/Lele_MM/article/details/95335757 ...............ideviceinstaller安裝及使用
https://blog.csdn.net/weixin_43164644/article/details/83996991 ................ios和android常用命令對比
https://blog.csdn.net/chaner01/article/details/112390650 ...................用命令idevice_id -l來查udid和ideviceinstaller -l來查看bundleId出現錯誤
https://www.jianshu.com/p/2b85274d0150 .....................................ios-deploy真機調試命令詳解
https://github.com/alibaba/taobao-iphone-device ..................ios自動化輔助工具(可停止包名),,iOSDeviceSupport.zip插件地址(https://gitee.com/ios_shen/iOSDeviceSupport/tree/master)