tidevice中常用api 浅谈
- 设备管理类API:
- `pair(device: Device) -> bool`:配对一个iOS设备,返回是否成功。
- `unpair(device: Device) -> bool`:解除配对一个iOS设备,返回是否成功。
- `list_devices() -> List[Device]`:列出所有已连接的iOS设备,返回一个设备对象的列表。
- `get_device_info(device: Device) -> dict`:获取一个iOS设备的信息,返回一个包含设备名称、型号、系统版本、序列号等字段的字典。
- `get_device_time(device: Device) -> datetime.datetime`:获取一个iOS设备的当前时间,返回一个datetime对象。
- `set_developer_mode(device: Device, enable: bool) -> None`:设置一个iOS设备的开发者模式,enable参数为True表示开启,False表示关闭。
- `reboot(device: Device) -> None`:重启一个iOS设备。
- 应用管理类API:
- `install_app(device: Device, app_path: str) -> None`:安装一个应用到iOS设备上,app_path参数为应用包的路径。
- `uninstall_app(device: Device, bundle_id: str) -> None`:卸载一个应用从iOS设备上,bundle_id参数为应用包的标识符。
- `launch_app(device: Device, bundle_id: str, args: List[str] = None, env: dict = None, wait_for_debugger=False) -> int`:启动一个应用在iOS设备上,bundle_id参数为应用包的标识符,args参数为应用启动时传递的命令行参数,env参数为应用启动时设置的环境变量,wait_for_debugger参数为True表示等待调试器连接后再启动。返回一个表示进程ID的整数。
- `stop_app(device: Device, pid: int) -> None`:停止一个应用在iOS设备上,pid参数为进程ID。
- `list_apps(device: Device) -> List[AppInfo]`:列出所有已安装的应用在iOS设备上,返回一个包含应用信息对象的列表。
- XCTest运行类API:
- `run_xctest(device: Device, bundle_id: str, test_bundle_id: str, test_cases=None, timeout=0.0) -> List[XCTestResult]`:运行一个XCTest测试计划在iOS设备上,bundle_id参数为被测应用包的标识符,test_bundle_id参数为测试包的标识符,test_cases参数为要运行的测试用例名称列表,timeout参数为超时时间(秒)。返回一个包含测试结果对象的列表。
- `start_wda(device: Device, bundle_id: str = "com.facebook.WebDriverAgentRunner.xctrunner", xctest_path=None, wda_root=None, mjpeg_server_port=9100, wda_port=8100) -> WebDriverAgent`:启动一个WebDriverAgent服务在iOS设备上,bundle_id参数为WebDriverAgentRunner应用包的标识符,xctest_path参数为WebDriverAgentRunner.xctest包的路径,wda_root参数为WebDriverAgent项目根目录路径,mjpeg_server_port参数为视频流服务端口号,wda_port参数为WebDriverAgent服务端口号。返回一个WebDriverAgent对象。
- 性能采集类API:
- `get_cpu_usage(device: Device, pid: int) -> float`:获取一个进程在iOS设备上的CPU使用率(百分比),pid参数为进程ID。返回一个浮点数。
- `get_memory_usage(device: Device, pid: int) -> float`:获取一个进程在iOS设备上的内存使用量(MB),pid参数为进程ID。返回一个浮点数。
- `get_fps(device: Device, pid: int) -> float`:获取一个进程在iOS设备上的帧率(FPS),pid参数为进程ID。返回一个浮点数。
- `get_power_usage(device: Device, pid: int) -> float`:获取一个进程在iOS设备上的功耗(mW),pid参数为进程ID。返回一个浮点数。
- 文件操作类API:
- `upload_file(device: Device, src_path: str, dst_path: str) -> None`:上传一个文件到iOS设备上,src_path参数为源文件路径,dst_path参数为目标文件路径。
- `download_file(device: Device, src_path: str, dst_path: str) -> None`:下载一个文件从iOS设备上,src_path参数为源文件路径,dst_path参数为目标文件路径。
- `delete_file(device: Device, path: str) -> None`:删除一个文件在iOS设备上,path参数为文件路径。
- `list_files(device: Device, path: str) -> List[FileInfo]`:列出一个目录下的所有文件在iOS设备上,path参数为目录路径。返回一个包含文件信息对象的列表。
- Crash日志操作类API:
- `get_crash_logs(device: Device) -> List[CrashLog]`:获取所有的Crash日志在iOS设备上,返回一个包含Crash日志对象的列表。
- `delete_crash_logs(device: Device) -> None`:删除所有的Crash日志在iOS设备上。
tidevice中常用api 浅谈的更多相关文章
- C++ STL中的常用容器浅谈
STL是C/C++开发中一个非常重要的模板,而其中定义的各种容器也是非常方便我们大家使用.下面,我们就浅谈某些常用的容器.这里我们不涉及容器的基本操作之类,只是要讨论一下各个容器其各自的特点.STL中 ...
- kafka中常用API的简单JAVA代码
通过之前<kafka分布式消息队列介绍以及集群安装>的介绍,对kafka有了初步的了解.本文主要讲述java代码中常用的操作. 准备:增加kafka依赖 <dependency> ...
- Thread中常用API
1.sleep方法 线程的 sleep 方法会使线程休眠指定的时间长度.休眠的意思是,当前逻辑执行到此不再继续执行,而是等待指定的时间.但在这段时间内,该线程持有的锁并不会释放.这样设计很好理解,因为 ...
- RESTful API浅谈
一.REST的由来 全称:REST,全称是Resource Representational State Transfer,即:资源在网络中以某种形式进行状态转移.————所谓状态的转移,可参考< ...
- Salesforce LWC学习(十六) Validity 在form中的使用浅谈
本篇参考: https://developer.salesforce.com/docs/component-library/bundle/lightning-input/documentation h ...
- Java 中 常用API概述之 Math, Object, String,StringBuffer类,Arrays,Integer类
Math Math类包含执行基本数字运算的方法,如基本指数,对数,平方根和三角函数. 与StrictMath类的一些数字方法不同,Math类的StrictMath所有Math都没有定义为返回比特位相同 ...
- Web javascript 中常用API合集
来源于:https://www.kancloud.cn/dennis/tgjavascript/241852 一.节点 1.1 节点属性 Node.nodeName //返回节点名称,只读 Node. ...
- Bootstrap中的datetimepicker浅谈
从古至今,人们都习惯用某个时间来标记某个事件的发生.我们在写管理后台的时候,重中之中也是这个时间的设置.在问题出现的时候,我们是查看日志的时候,就可以根据这个时间段来查找这个问题出现点. 在使用时间控 ...
- Android开发用到的几种常用设计模式浅谈(一):组合模式
1:应用场景 Android中对组合模式的应用,可谓是泛滥成粥,随处可见,那就是View和ViewGroup类的使用.在android UI设计,几乎所有的widget和布局类都依靠这两个类.组合模式 ...
- [UE4]C++中extern关键字浅谈
变量声明和变量是有区别的 extern int i; //只是声明i而非定义i int j; //声明而且还定义了j 任何一个显式初始化的声明都将成为定义,而不管有没有extern,extern语句一 ...
随机推荐
- 快速教程|如何在 AWS EC2上使用 Walrus 部署 GitLab
Walrus 是一款基于平台工程理念的开源应用管理平台,致力于解决应用交付领域的深切痛点.借助 Walrus 将云原生的能力和最佳实践扩展到非容器化环境,并支持任意应用形态统一编排部署,降低使用基础设 ...
- 题解 CF1264D2
前言 建议大家看一下我对于 D1 的题解(传送门)后再看本题解,本题解是基于那篇题解的基础上书写的. 数学符号约定 \(\dbinom{n}{m}\):表示 \(n\) 选 \(m\) . 如非特殊说 ...
- 手撸一个SpringBoot配置中心实现配置动态刷新
业务需求 SpringBoot项目配置信息大多使用@Value注解或者@ConfigurationProperties注解读取配置信息,线上项目经常需要对某些配置进行调整,如果每次都需要修改配置文件再 ...
- Vue源码学习(十八):实现组件注册(一)Vue.component()和Vue.extend()
好家伙, 0.完整代码已开源 https://github.com/Fattiger4399/analytic-vue.git 1.思路 1.1.什么是组件化? Vue 组件化是指将复杂的应用程序拆分 ...
- 33. 干货系列从零用Rust编写正反向代理,关于HTTP客户端代理的源码实现
wmproxy wmproxy已用Rust实现http/https代理, socks5代理, 反向代理, 静态文件服务器,四层TCP/UDP转发,七层负载均衡,内网穿透,后续将实现websocket代 ...
- [USACO2022OPENS] Visits
题目描述 Bessie 的 \(N\)(\(2\le N\le 10^5\))个奶牛伙伴(编号为 \(1\cdots N\))每一个都拥有自己的农场.对于每个 \(1\le i\le N\),伙伴 i ...
- [ABC246F] typewriter
Problem Statement We have a typewriter with $N$ rows. The keys in the $i$-th row from the top can ty ...
- chrome浏览器出现《您的连接不是私密链接》
问题现象 键盘切换到英文输入 点击页面,就页面中间随意点一下即可 不是输入框!不是输入框!不是输入框! 不是找啦!不是找啦!不是找啦! 在chrome该页面上,直接键盘敲入这11个字符:thisisu ...
- 云端开炉,线上训练,Bert-vits2-v2.2云端线上训练和推理实践(基于GoogleColab)
假如我们一定要说深度学习入门会有一定的门槛,那么设备成本是一个无法避开的话题.深度学习模型通常需要大量的计算资源来进行训练和推理.较大规模的深度学习模型和复杂的数据集需要更高的计算能力才能进行有效的训 ...
- AI量化策略会:可以直接上实盘的策略构建方法
一年一度的培训虽晚但到,这是BigQuant与大家走过的第五个培训年头,在过去的四年里看到很多学员的成长和蜕变,从一开始的懵懂无知,到现在对深度学习的信手拈来,BigQuant与各位学员们一样都收获颇 ...