pymobiledevice3 xonsh-afc shell使用介绍

1、进入xonsh-afc shell:

pymobiledevice3 apps afc bundle_id

2、进入shell后默认的目录是:[com.apple.mobile.house_arrest:/]$,这个目录是指定bundle_id的沙盒目录。

3、沙盒目录中如果包含带有空格的文件夹,直接使用cd Application Support/ 或者 cd Application\ Support/ 都会报错,cd: error: unrecognized arguments: Support/,这时候要使用双引号将文件夹名括起来,才可以正常访问该目录,cd "Application Support/"

4、amfi命令,开启开发者模式,并可以查询它的状态:

pymobiledevice3 amfi enable-developer-mode(执行后设备会重启)

pymobiledevice3 amfi developer-mode-status(查询开发者状态)

这个状态是跟“设置” > “隐私与安全” > “开发者模式”,中的开关打开或关闭状态相关的,关闭这个开关,pymobiledevice3 amfi developer-mode-status,查询状态就是false:

这是通过命令打开开发者模式:

pymobiledevice3 amfi enable-developer-mode,这是设备会重启,重启成功后再次查询:

pymobiledevice3 amfi developer-mode-status

这时手机中“设置” > “隐私与安全” > “开发者模式”的开关也打开了。这时候想要截一张图,此时却弹出了错误提示(刚刚还可以,怎么这时就不行了,前一篇文章还截图了呢,,,):

截图时提示没有启动tunneld服务:

pymobiledevice3 developer screenshot /Users/testmanzhang/Downloads/44444.png

手动启动tunneld服务时报错pymobiledevice3.exceptions.InvalidServiceError: InvalidService:

于是查了一下tunneld服务,

tunneld 是一个服务,通常运行在 macOS 上,用于提供与 iOS 设备的远程连接。它主要用于通过网络为开发者提供更好的调试和开发环境,尤其是在需要访问 iOS 设备的开发命令时。

当你在 macOS 上运行相关命令(如截图、访问日志等)时,如果遇到需要连接 tunneld 的错误,通常意味着你需要先启动该服务。启动 tunneld 后,它将允许你通过网络与连接的 iOS 设备进行交互。

既然通过网络与iOS设备进行交互,那么就开启了无线连接iOS设备,在Xcode上开启了Connect via network(这时突然想起来,刚才重启电脑了,并把手机的密码也取消了。。),于是重新设置:

xcode提示:

Failed to enable wireless functionality on the device.

Please check the device connection and ensure that a passcode is set on the device.

根据提示在iOS设备上开启密码。

连接ok后再次尝试使用截图,成功了:

所以在xonsh-afc shell中,一些命令的执行,要依赖前面的连接。

5、afc命令,执行:pymobiledevice3 afc shell,

按照提示,是进入了open an AFC shell rooted at /var/mobile/Media 这是系统的目录,提示符如下,

[com.apple.afc:/]$

进入shell后,可以执行的命令有:ls、pull、push、rm

主要是操作这个目录下的文件。

退出shell使用exit 或者 quit。

6、crash命令:pymobiledevice3 crash,有3个字命令,分别是:clear、flush、ls、pull、shell、sysdiagnose、watch

执行ls可以直接列出系统发现(收集)的crash ips文件,不需要先进入shell模式:

执行pymobiledevice3 crash pull /Users/testmanzhang/Downloads:

执行pymobiledevice3 crash shell,进入如下目录:

[com.apple.crashreportcopymobile:/]$

进入shell后可以单独pull文件:

pull xp_amp_app_usage_dnu-2024-10-14-122244.ips /Users/testmanzhang/Downloads

具体提供的命令参考show-help

执行:pymobiledevice3 crash sysdiagnose /Users/testmanzhang/Downloads/

在手机上按电源键和声音+-后,生成了sysdiagnose_2024.10.14_19-26-48+0800_iPhone-OS_iPhone_20F75.tar.gz文件

打开后是这样,系统的诊断报告:

这个命令跟libimobiledevice的idevicecrashreport类似,

idevicecrashreport -u f89d929e8c45a81c0fe2d2xxxxxxxxxxxxxxxxxf /Users/testmanzhang/Downloads

执行完成后也会导出诊断报告:

这个功能使用idb 的crash命令,总是报错,即使我启动了idb_companion并且连接成功。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/55119.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python爬虫高效数据爬取方法

大家好!今天我们来聊聊Python爬虫中那些既简洁又高效的数据爬取方法。作为一名爬虫工程师,我们总是希望用最少的代码完成最多的工作。下面我ll分享一些在使用requests库进行网络爬虫时常用且高效的函数和方法。 1. requests.get() - 简单而强大 requests.get()是我们最常用的…

《CUDA编程》8.共享内存的合理使用

共享内存是 一种可被程序员直接操控的缓存,主要作用有两个: ①减少核函数中对全局内存的访 问次数,实现高效的线程块内部的通信 ②提高全局内存访问的合并度 将通过两个具体的例子阐明共享内存的合理使用,一个数组归约的例子和讨矩…

Git上传命令汇总

进入企业,每日需要上传执行用例记录到gitlab平台上,本文记录了常用git上传命令, 并用github演示。 1、本地建立分支,克隆远程仓库 在gitlab中,每个人需要创建自己的分支,一般以自己的名字命名,…

如何通过行情API接口查询贵金属实时价格

行情数据api可以快速获取实时tick数据信息,也即所谓的逐笔成交价格。市面上稳定可用的贵金属行情接口虽然比股票的要少,但好产品还是有的。在这记录一个好评比较多的一款。 该API接口需要先注册账户,注册后直接在个人中心找到API秘钥就可以进…

三子棋(C 语言)

目录 一、游戏设计的整体思路二、各个步骤的代码实现1. 菜单及循环选择的实现2. 棋盘的初始化和显示3. 轮流下棋及结果判断实现4. 结果判断实现 三、所有代码四、总结 一、游戏设计的整体思路 (1)提供一个菜单让玩家选择人机对战、玩家对战或者退出游戏…

第二十七篇:传输层讲解,TCP系列一

一、传输层的功能 ① 分割与重组数据 传输层也要做数据分割,所以必然也需要做数据重组。 ② 按端口号寻址 IP只能定位数据哪台主机,无法判断数据报文应该交给哪个应用,传输层给每个应用都设置了一个编号,这个编号就是端口&…

Midjourney官宣网页版免费用!前谷歌大佬祭出AI生图2.0,全网惊艳实测

Midjourney一度稳居AI生图的第一梯队,甚至是很多人心中的Top1。但是Ideogram 2.0的发布,抢夺了Midjourney的荣光,不仅一举拉高了图像生成质量,还打起了价格战。 曾经在AI图像生成领域无可匹敌的领导者Midjourney,终于…

3分钟学会下载 blender

1. blender简介 Blender是一款开源的3D创作套件,它由Blender Foundation维护,并得到了全球志愿者和专业开发者的支持。Blender广泛应用于3D模型的制作、动画、渲染、视频编辑、游戏创建、模拟、 composting以及3D打印等多个领域。 功能特点&#xff1a…

欧盟通过《网络弹性法案》保障联网产品安全

欧盟理事会通过了《网络弹性法案》(CRA),这是一项新法律,旨在使含有数字组件的消费产品更加安全使用。 CRA要求 CRA 概述了欧盟范围内针对数字产品的网络安全标准,即直接或间接连接到其他设备或网络的产品。 此类别…

Qt-QDockWidget浮动窗口相关操作(49)

目录 描述 使用 描述 在 Qt 中,浮动窗⼝也称之为铆接部件。浮动窗⼝是通过 QDockWidget类 来实现浮动的功能。浮动窗口⼀般是位于核心部件的周围,可以有多个。 使用 创建我们可以参考下面的语法格式 使用起来也很简单,不过只能创建一个 Q…

DAY47WEB 攻防-PHP 应用文件上传函数缺陷条件竞争二次渲染黑白名单JS 绕过

1、PHP-原生态-文件上传-检测后缀&黑白名单2、PHP-原生态-文件上传-检测信息&类型内容3、PHP-原生态-文件上传-函数缺陷&逻辑缺陷4、PHP-原生态-文件上传-版本缺陷&配置缺陷 文件上传安全指的是攻击者通过利用上传实现后门的写入连接后门进行权限控制的安全问题…

ChatGPT与R语言融合技术在生态环境数据统计分析、绘图、模型中的实践与进阶应用

在短短一年多的时间里,GPT已经在多个领域展现出其独特的价值,特别是在数据统计分析领域。GPT的介入为数据处理、模型构建和结果解释带来了前所未有的便利。与此同时,R语言凭借其开源、自由、免费的特性,成为了统计分析和数据可视化…

LaTeX 对新段落会自动缩进。如果你不希望某些段落有缩进,可以使用以下几种方法来取消缩进:

默认情况下,LaTeX 对新段落会自动缩进。如果你不希望某些段落有缩进,可以使用以下几种方法来取消缩进: 全局取消段落缩进: 在导言区添加如下命令可以取消整个文档中的段落缩进: \setlength{\parindent}{0pt}局部取消段…

05 django管理系统 - 部门管理 - 修改部门

04我们已经实现了新增部门的功能,下面开始修改部门模块的实现。 按道理来说,应该是做成弹框样式的,通过ajax悄咪咪的发数据,然后更新前端数据,但是考虑到实际情况,先用页面跳转的方式实现,后面…

TCP/IP相关

1、关于三次握手、四次挥手和TCP的11种状态: 记住这张图就行了: 2、关于慢启动、拥塞避免、超时重传、快速重传、快速恢复 记住这张图就行了: 一些名词解释: MSS:Maximum Segment Size,最大报文长度 RT…

JDBC存在什么问题?MyBatis是如何解决的?

文章目录 引言JDBC核心组件1、DriverManager2、Connection3、Statement4、ResultSet5、SQLException JDBC存在的问题1、繁琐的代码编写2、手动管理资源3、SQL语句的硬编码4、缺乏对象映射5、事务管理复杂6、缺乏缓存支持 MyBatis如何解决这些问题?1、简化代码编写2、…

鸿蒙开发之ArkUI 界面篇 三十四 容器组件Tabs 自定义TabBar

如果需要修改Tabs的图标和文字之间的距离我们该怎么办呢?好在tabBar是联合类型,提供了自定义tabBar,这里就可以显示特殊图标或者是文字图片,如下图: 这里定义了myBuilder的函数,用了 来修饰,没有…

MongoDB中排序、索引和聚合的详细说明

以下是关于MongoDB中排序、索引和聚合的详细说明: 排序(Sort) 基本语法 使用db.collection.find().sort({field: direction})方法对查询结果进行排序。其中field是要排序的字段,direction可以是1(表示升序&#xff0…

结合大语言模型的机械臂抓取操作学习

一、 大语言模型的机械臂抓取操作关键步骤 介绍如何基于大语言模型实现机械臂在PyBullet环境中的抓取操作,涵盖机器人运动学、坐标系转换、抓取候选位姿生成、开放词汇检测以及大语言模型代码生成等模块。 1. 机器人正逆运动学基本概念 正运动学: 已知机器人的关节…

19 Shell Script awk命令

Shell Script awk命令 一、awk 一)awk介绍 ​ awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大。简单来说awk就是把文件逐行的读入,以空格为默认分…