一、tidevice简介
tidevice是阿里内部的一个小组用来做iOS自动化用的工具, 这个工具是纯Python写成,所以也是跨平台的,支持在Windows、Linux、Mac上运行。
其中网上最难找的应该是这个如何不依赖 xcode 启动 WebDriverAgent,这个工具就可以做到,因为不依赖 Xcodebuild,所以即使是 Windows或者Linux也能跑起来 iOS 自动化
二、tidevice原理
usbmux通信协议:实现 Mac/Windows/Linux与 iOS设备服务间的通信。usbmux 本身是socket套接字,通过截获、破解等手段,结合开源界的成果,用python 进行模拟,从而实现了当前工具已有的所有功能
Mac端:usbmuxd 是苹果的一个服务,这个服务主要用于在USB协议上实现多路TCP连接,将USB通信抽象为TCP通信。苹果的iTunes、Xcode,都直接或间接地用到了这个服务。
Linux / Windows端:本身是没有usbmux的,Windows还依赖 AppleApplicationSupport和AppleMobileDeviceSupport这两个服务,通过安装itunes环境即可安装对应服务。
三、tidevice安装
本篇tidevice安装主要介绍时在mac上的安装,windows上安装tidevice可以参考文章https://blog.youkuaiyun.com/dou_being/article/details/120401944。
-
python版本要3.6+以上,配置python环境变量:
(1)open ~/.bash_profile (2)添加python3.9的bin目录:/Library/Frameworks/Python.framework/Versions/3.9/bin (3)使环境变量配置立即生效:source ~/.bash_profile
-
安装tidevice:
(1)推荐安装方式:python3 install -U “tidevice[openssl]” (2)如果上面方式安装失败可以使用此方式:pip3 install -U tidevice
安装成功截图:
-
查看tidevice版本号:tidevice version
-
列出连接的设备:tidevice list或者tidevice list --json
5、应用管理常用命令:
(1)安装应用:tidevice install example.ipa
(2)指定设备安装:tidevice --udid $UDID install https://example.org/example.ipa
(3)卸载应用:tidevice uninstall com.example.demo
(4)启动应用:tidevice launch com.example.demo
(5)停止应用:tidevice kill com.example.demo
(6)查看已安装应用:tidevice applist
(7)查看运行中的应用:tidevice ps 或tidevice ps —json output as json
欢迎关注公众号: