#### 安装与卸载

```bash
ideviceinstaller -i xxx.ipa # 安装
ideviceinstaller -u [bundleID] # 卸载
ideviceinstaller -u [udid] -l # 查看指定设备安装的第三方应用
ideviceinstaller -u [udid] -l -o list_system # 查看指定设备安装的系统应用
ideviceinstaller -u [udid] -l -o list_all # 查看指定设备安装的所有应用
```

#### 列出本机模拟器及连接设备的信息
```bash
instruments -s devices
```

#### 查看连接设备信息
```bash
idevice_id -l # 打印当前已连接设备的udid
ideviceinfo # 打印设备信息
ideviceinfo -k ProductVersion # 获取连接设备的系统版本号
ideviceinfo -u [udid] # 指定设备,获取设备信息
ideviceinfo -u [udid] -k DeviceName # 指定设备,获取设备名称:iPhone6s
idevicename -u [udid] # 指定设备,获取设备名称:iPhone6s
ideviceinfo -u [udid] -k ProductVersion # 指定设备,获取设备版本:10.3.1
ideviceinfo -u [udid] -k ProductType # 指定设备,获取设备类型:iPhone8,1
ideviceinfo -u [udid] -k ProductName # 指定设备,获取设备系统名称:iPhone OS
```

#### 备份
```bash
idevicebackup
```

#### 获取系统崩溃日志
```bash
idevicecrashreport
```

#### 远程调试代理
```bash
idevicedebugserverproxy
```

#### 获取设备时间
```bash
idevicedate
```

#### 重启设备
```bash
idevicedignostices restart
```

#### 截屏
```bash
idevicescreenshot /Users/medivh/Desktop/a.png # 将文件输入到指定路径
```

#### 日志
```bash
idevicesyslog # 日志输出到屏幕
idevicesyslog -u [udid] > /Users/home/Desktop/log.log # 将日志输出到指定路径
```

#### bundleID
```bash
unzip xxx.ipa
cd Payload/xxx.app
defaults read `pwd`/Info CFBundleIdentifier
```

#### show SDK
```bash
xcodebuild -showsdks # 查看本机sdk版本
```

#### 开启指定模拟器
```bash
xcrun instruments -w 'iPhone 7 Plus (11.4) [$uuid]'
```

#### 安装指定app
```bash
xcrun simctl install booted <app path>
```

#### 运行指定app (com.example.app)
```bash
xcrun simctl launch booted <bundleID>
```

#### 卸载指定应用
```bash
xcrun simctl uninstall booted <bundleID>
```

### appium inspector 这个基本没法用
```bash
app-inspector -u $uuid/udid
```

### appium-desktop inspector 这个最好用了
```
1、打开appium-desktop,start;
2、菜单栏->Appium->new session window;
3、saved capabillity sets中设置参数, host:127.0.0.1:4723/wd/hub,
devices = {
"platformName": "iOS",
"deviceName": "iPhone 6",
"platformVersion": "11.0",
"bundleId": "com.chezhubang",
"automationName": "XCUITest",
"udid": "2aeda56a9b8c38eacb6ff8055ecce4998174cd0f"};
4、start session;
```

### xcodebuild
```bash
UDID=$(idevice_id -l)
xcodebuild -project WebDriverAgent.xcodeproj -scheme WebDriverAgentRunner -destination "id=$UDID" test
```

### wda inspector 这个相对好用一点
```bash
UDID=$(idevice_id -l)
xcodebuild -project WebDriverAgent.xcodeproj -scheme WebDriverAgentRunner -destination "id=$UDID" test
https://[ip]/inspector
```

### iproxy
```bash
iproxy [port] [port]
```

### 查看设备的描述文件
```bash
ideviceprovision list
```

libimobiledevice的更多相关文章

  1. Mac上编译libimobiledevice库

    0.准备工作: 使用brew或Mac Ports安装:libgnutls or openssl. libplist .libusb.libusbmuxd 1.下载代码: 下载地址:https://gi ...

  2. libimobiledevice安装步骤

    https://github.com/libimobiledevice/libimobiledevice libimobiledevice安装指南,你还不知道libimobiledevice为何物,赶 ...

  3. [转]在 Mac OS X上编译 libimobiledevice 的方法

    link: http://blog.boceto.fr/2012/05/05/libimobiledevice-for-macosx/ The objective of the day: Compil ...

  4. libimobiledevice命令

    Mac 安装 1. 安装HomeBrew ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/m ...

  5. iOS开发的另类神器:libimobiledevice开源包【类似android adb 方便获取iOS设备信息】

    简介 libimobiledevice又称libiphone,是一个开源包,可以让Linux支持连接iPhone/iPod Touch等iOS设备.由于苹果官方并不支持Linux系统,但是Linux上 ...

  6. 【转】Install libimobiledevice on Mac OSX

    About the App App name: libimobiledevice App description: Library to communicate with iOS devices na ...

  7. 【原创】使用开源libimobiledevice盗取iphone信息

     一.概述     libimobiledevice可以理解为Linux系统下的iTunes,破解了iTunes的通信协议. 依赖:https://github.com/libimobiledevic ...

  8. libimobiledevice --Mingw32交叉编译

    本文只描述 windows环境下的使用情况,linux平台基本雷同. 一.配置编译环境. (1)操作系统 :Windows10 (64bit). (2)类unix环境:Cygwin(64bit) 下载 ...

  9. 【Mac 10.13.0】安装 libimobiledevice,提示报错:warning: unable to access '/Users/lucky/.config/git/attributes': Permission denied解决方案

    打开终端,执行命令: 1.sudo chown -R XXX /usr/local  (XXX表示当前用户名) 2.ruby -e "$(curl -fsSL https://raw.git ...

  10. 使用libimobiledevice + ifuse提取iOS沙盒文件

    简介 libimobiledevice:一个开源包,可以让Linux支持连接iPhone/iPod Touch等iOS设备. Git仓库: https://github.com/libimobiled ...

随机推荐

  1. 使用DANT做FTP的转发代理

    FTP不能直接使用nginx进行转发,想了一些办法,最后决定使用iptalbes做DNAT,相关于把这个机器做一台防火墙,做一个NAT 1.启用ip_forward vim /etc/sysctl.c ...

  2. MySQL AND 和 OR 联合使用带来的坑

    MySQL 基础篇 三范式 MySQL 军规 MySQL 配置 MySQL 用户管理和权限设置 MySQL 常用函数介绍 MySQL 字段类型介绍 MySQL 多列排序 MySQL 行转列 列转行 M ...

  3. 微软发布云端基因服务:推动AI驱动的精准医疗

    微软发布云端基因服务:推动AI驱动的精准医疗 2018年03月07日 00:00:00 微软研究院AI头条 阅读数:117    版权声明:本文为博主原创文章,未经博主允许不得转载. https:// ...

  4. JS原型对象的问题

    原型模式最大的问题是由其共享的本性所导致的.我们知道,原型中所有的成员是被很多实例共享的,这种共享对于函数非常合适.对于那些包含基本值的属性倒也说得过去,毕竟可以通过在实例上添加一个同名的属性来隐藏原 ...

  5. 【web】Chrome 浏览器中查看 webSocket 连接信息

    1.以下代码实现一个webSocket连接,在文本输入框中输入内容,点击发送,通过服务器,返回相同的内容显示在下方. 1 <!DOCTYPE html> 2 <html lang=& ...

  6. 客户端相关知识学习(十一)之Android H5交互Webview实现localStorage数据存储

    前言 最近有一个需求是和在app中前端本地存储相关的,所以恶补了一下相关知识 webView开启支持H5 LocalStorage存储 有些时候我们发现写的本地存储没有起作用,那是因为默认WebVie ...

  7. Iterator 其实很简单(最好理解的工厂模式的例子)

    我们都知道Iterator是一个典型的工厂模式的例子.那么我们可能会被这两个名词搞晕.首先,我们会奇怪,为什么iterator可以遍历不同类型的结合,其次,出入程序猿的我们根本不知道工厂模式是什么. ...

  8. swoole| swoole 协程初体验 转

    swoole| swoole 协程初体验   date: 2018-5-30 14:31:38title: swoole| swoole 协程初体验description: 通过协程的执行初窥 swo ...

  9. js 实现复制功能的四种方式的优劣对比

    今日网上浏览别人项目,看到有人用了document.execCommand这个属性,于是想起之前我选用Clipboard.js 来实现.对于这种不常用的属性还是不太放心,于是随手查了下关于复制的资料, ...

  10. Linux命令——netstat

    参考:20 Netstat Commands for Linux Network Management Foreword Print network connections, routing tabl ...