概述:
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
查看设备已安装的应用
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
手机关机:idevicediagnostics shutdown # shutdown device
重启手机:idevicediagnostics restart # restart device
休眠(熄屏灭屏): idevicediagnostics sleep # 类似于断开adb . (disconnects from host)
获取设备时间: idevicedate
备注:bundle_id就是应用包名
相关连接:
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)