ios 的終端命令一般使用第三方的開源庫(kù)工具,下面介紹兩種:libimobiledevice
、ios-deploy
libimobiledevice
libimobiledevice 是一個(gè)跨平臺(tái)的軟件庫(kù),支持 iPhone?, iPod Touch?, iPad? and Apple TV? 等設(shè)備的通訊協(xié)議。不依賴任何已有的私有庫(kù),不需要越獄。應(yīng)用軟件可以通過(guò)這個(gè)開發(fā)包輕松訪問(wèn)設(shè)備的文件系統(tǒng)、獲取設(shè)備信息,備份和恢復(fù)設(shè)備,管理 SpringBoard 圖標(biāo),管理已安裝應(yīng)用,獲取通訊錄、日程、備注和書簽等信息,使用 libgpod 同步音樂(lè)和視頻。
安裝方式
brew install --HEAD libimobiledevice # 安裝最新的更新,支持 iOS 10
brew install ideviceinstaller # 僅在 iOS9工作
常用命令
1. 查看當(dāng)前所連接的設(shè)備
idevice_id -l # 顯示當(dāng)前所連接的設(shè)備[udid],包括 usb、WiFi 連接
instruments -s devices # 列出設(shè)備包括模擬器、真機(jī)及 mac 電腦本身
2. 安裝應(yīng)用
xxx.ipa
為應(yīng)用在本地的路徑
ideviceinstaller -u [udid] -i [xxx.ipa] # 給指定連接的設(shè)備安裝應(yīng)用
3. 卸載應(yīng)用
bundleId
為應(yīng)用的包名
ideviceinstaller -u [udid] -U [bundleId] # 給指定連接的設(shè)備卸載應(yīng)用
4. 查看設(shè)備已安裝的應(yīng)用
ideviceinstaller -u [udid] -l # 指定設(shè)備,查看安裝的第三方應(yīng)用
ideviceinstaller -u [udid] -l -o list_user # 指定設(shè)備,查看安裝的第三方應(yīng)用
ideviceinstaller -u [udid] -l -o list_system # 指定設(shè)備,查看安裝的系統(tǒng)應(yīng)用
ideviceinstaller -u [udid] -l -o list_all # 指定設(shè)備,查看安裝的系統(tǒng)應(yīng)用和第三方應(yīng)用
5. 獲取設(shè)備信息
ideviceinfo -u [udid] # 指定設(shè)備,獲取設(shè)備信息
ideviceinfo -u [udid] -k DeviceName # 指定設(shè)備,獲取設(shè)備名稱:iPhone6s
idevicename -u [udid] # 指定設(shè)備,獲取設(shè)備名稱:iPhone6s
ideviceinfo -u [udid] -k ProductVersion # 指定設(shè)備,獲取設(shè)備版本:10.3.1
ideviceinfo -u [udid] -k ProductType # 指定設(shè)備,獲取設(shè)備類型:iPhone8,1
ideviceinfo -u [udid] -k ProductName # 指定設(shè)備,獲取設(shè)備系統(tǒng)名稱:iPhone OS
ios-deploy
ios-deploy 同樣是一個(gè)安裝和調(diào)試應(yīng)用的命令行工具。0需要一個(gè)有效的開發(fā)者證書,已安裝 Xcode 7以上的版本。
安裝方式
-
安裝 node (已安裝可略過(guò))
brew install node
-
安裝
ios-deploy
npm install -g ios-deploy
開發(fā)者證書安裝,請(qǐng)找 iOS 開發(fā)吧。
常用命令
1. 查看當(dāng)前所連接的設(shè)備
ios-deploy -c # 查看連接的設(shè)備包括:usb、wifi 連接
ios-deploy -c --no-wifi # 查看連接的設(shè)備(usb),忽略 WiFi 連接的
2. 安裝應(yīng)用
xxx.app
為 Xcode 編譯后的應(yīng)用安裝包路徑
ios-deploy --id [udid] --bundle [xxx.app] # 給指定應(yīng)用安裝應(yīng)用
3. 卸載應(yīng)用
ios-deploy --id [udid] --uninstall_only --bundle_id [bundleId] # 給指定連接的設(shè)備卸載應(yīng)用
4. 查看設(shè)備已安裝的應(yīng)用
ios-deploy --id [udid] --list_bundle_id # 指定設(shè)備安裝的所有應(yīng)用,包括系統(tǒng)應(yīng)用和第三方應(yīng)用
ios-deploy --id [udid] --exists --bundle_id # 指定設(shè)備檢查指定應(yīng)用是否已經(jīng)安裝