ifuse挂载后,在python代码中访问iOS沙盒目录获取app日志

上一次使用pymobiledevice3,在python代码中访问app的沙盒目录并分析业务日志,在使用过程中发现,在获取app日志的时候速度很慢,执行时间很长,需要30-61秒,所以这次尝试使用libimobiledevic和ifuse,现在已经将iOS沙盒目录挂载到了本地,在python代码中访问并分析日志:

python 复制代码
def get_dev_play_state_through_libimobiledevice(iphone_model, sn, state, log_date):
    """
    :param iphone_model: iPhone型号,例如,iPhoneX,本地根据手机型号创建挂载目录
    :param sn: 设备sn
    :param state: 不同开流状态,例如,wakeS1234、awake success、p4pS1234、p4pE12、previewS1234、previewS123456
    :param log_date: 日志日期,例如,20241028
    :return:
    """
    filter_condition = f"'{state} success.*deviceId = {sn}'"
    mount_path = f"/Users/testmanzhang/ios_sandbox/{iphone_model}/Documents/Logs/1234567_app_ios_{log_date}.log"
    command = f"grep {filter_condition} {mount_path}"

    result = subprocess.run(command, shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE, text=True)
    print(result.stdout)

响应速度相对于pymobiledevice3快很多。时间大概在1-6秒左右。在ifuse同步周期内,首次访问文件内容会稍微慢些,大概6秒左右;周期内第2次开始会快些,大概1秒左右。

有个问题需要注意的是,mac锁屏再解锁后之前的挂载关系报错,There was an error accessing the mount point: Input/output error,

需要重新挂载:

testmanzhang@TestMandeMBP ~ % ifuse ~/ios_sandbox/iPhoneX --container com.glazero.ios --udid f89d929e8c45a81c0fe2d22f80c1a36e227e90ef

There was an error accessing the mount point: Input/output error

testmanzhang@TestMandeMBP ~ % umount ~/ios_sandbox/iPhoneX

testmanzhang@TestMandeMBP ~ % mount | grep ios_sandbox

testmanzhang@TestMandeMBP ~ % ifuse ~/ios_sandbox/iPhoneX --container com.glazero.ios --udid f89d929e8c45a81c0fe2d22f80c1a36e227e90ef

testmanzhang@TestMandeMBP ~ %

相关推荐
闭着眼睛学算法7 分钟前
【双机位A卷】华为OD笔试之【模拟】双机位A-新学校选址【Py/Java/C++/C/JS/Go六种语言】【欧弟算法】全网注释最详细分类最全的华子OD真题题解
java·c语言·javascript·c++·python·算法·华为od
Dxy123931021620 分钟前
python如何使用nacos
开发语言·网络·python
2501_9160088937 分钟前
iOS 26 性能分析深度指南 包含帧率、渲染、资源瓶颈与 KeyMob 协助策略
android·macos·ios·小程序·uni-app·cocoa·iphone
C嘎嘎嵌入式开发44 分钟前
(20)100天python从入门到拿捏《JSON 数据解析》
开发语言·python·json
jie*1 小时前
小杰深度学习(fourteen)——视觉-经典神经网络——ResNet
人工智能·python·深度学习·神经网络·机器学习·tensorflow·lstm
jie*1 小时前
小杰深度学习(sixteen)——视觉-经典神经网络——MobileNetV2
人工智能·python·深度学习·神经网络·tensorflow·numpy·matplotlib
曾经的三心草2 小时前
OpenCV4-直方图与傅里叶变换-项目实战-信用卡数字识别
python·opencv·计算机视觉
Rhys..2 小时前
python自动化中(包括UI自动化和API自动化)env的作用和使用
python·ui·自动化
我的xiaodoujiao2 小时前
从 0 到 1 搭建完整 Python 语言 Web UI自动化测试学习系列 17--测试框架Pytest基础 1--介绍使用
python·学习·测试工具·pytest
Bellafu6662 小时前
selenium对每种前端控件的操作,python举例
前端·python·selenium