ios-debug — ios-调试
v1.0.0调试 iPhone 14 真机上的 iOS 应用。 获取 应用 实时日志(stdout)、截取 iPhone 屏幕(通过 QuickTime 镜像)、 构建安装启动 应用、查看设备状态。 当用户提到 iPhone 调试、iOS 日志、手机截图时使用。
运行时依赖
安装命令
点击复制技能文档
iOS 真机调试 技能 设备信息
真机: iPhone14
工具 设备 ID 用途 Xcode devicectl 9B6F9009-7150-53F5-93D0-8CF3C1884F83 构建、安装、启动 libi移动device (idevice_id) 00008110-000965E63E50201E 日志查看、文件传输
注意: 两套工具使用不同的设备标识符格式,不能混用!
获取 应用 实时日志 方法:devicectl --console(推荐)
应用 里的 print() 输出会实时显示在 stdout:
xc运行 devicectl device process launch \ --device 9B6F9009-7150-53F5-93D0-8CF3C1884F83 \ --terminate-existing --console \
注意:
这是阻塞命令,用 control_bash_process 后台启动 应用 里必须用 print() 而不是 记录ger(os.记录 不走 stdout) 退出时 kill 进程即可 方法:idevicesys记录(系统日志,应用 内部日志通常抓不到) idevicesys记录 -u 00008110-000965E63E50201E 2>&1 | grep -i "<关键词>"
只能看到系统级日志(bluetoothd、SpringBoard 等),应用 的 记录ger / print() 通常不出现。
获取 iPhone 屏幕截图 前置:QuickTime Player 正在镜像 iPhone
用户需要先打开 QuickTime Player → File → New Movie Recording → 选择 iPhone 14 作为摄像头源。 这样 QuickTime 窗口就是 iPhone 的实时镜像。
截图命令 screencapture -l $(osascript -e 'tell 应用 "QuickTime Player" to 获取 id of window 1') /tmp/iphone_mirror.png
截图保存到 /tmp/iphone_mirror.png,可以用浏览器或 Preview 查看。
注意事项 QuickTime 必须正在运行且有 iPhone 镜像窗口 如果有多个 QuickTime 窗口,window 1 可能不是 iPhone 的,需要调整 截图分辨率取决于 QuickTime 窗口大小 构建 & 安装 & 启动 # 1. 构建(替换 为实际值) xcodebuild -project .xcodeproj -scheme -configuration 调试 \ -destination 'id=9B6F9009-7150-53F5-93D0-8CF3C1884F83' \ -allowProvisioning更新s build
# 2. 找到构建产物 应用_PATH=$(find ~/库/Developer/Xcode/DerivedData/- \ -name "<应用_name>.应用" -path "/Build/Products/调试-iphoneos/" \ -not -path "/索引.no索引/*" -type d 2>/dev/null | 排序 -r | head -1)
# 3. 安装到真机 xc运行 devicectl device 安装 应用 \ --device 9B6F9009-7150-53F5-93D0-8CF3C1884F83 "$应用_PATH"
# 4. 启动(普通) xc运行 devicectl device process launch \ --device 9B6F9009-7150-53F5-93D0-8CF3C1884F83 \ --terminate-existing
# 4b. 启动(带 console 日志) xc运行 devicectl device process launch \ --device 9B6F9009-7150-53F5-93D0-8CF3C1884F83 \ --terminate-existing --console
设备状态检查 # 设备是否连接 xc运行 devicectl 列出 devices 2>&1 | grep iPhone
# 卸载 应用(签名冲突时用) xc运行 devicectl device un安装 应用 \ --device 9B6F9009-7150-53F5-93D0-8CF3C1884F83
签名问题处理
如果安装后启动报 "invalid code 签名ature" 或 "性能分析 has not been explicitly trusted":
iPhone 上:设置 → 通用 → VPN与设备管理 → 信任开发者证书 或者先卸载再重装 踩坑记录 ❌ idevicesys记录 看不到 应用 日志
iOS 的 os.记录 不转发到 sys记录。只有 print() + --console 模式能看到。
❌ devicectl --console 启动后 应用 被杀
--console 模式下如果 terminal 进程被 kill,应用 也会被终止。用 control_bash_process 后台运行。
❌ QuickTime 截图是黑屏
可能 iPhone 锁屏了,或者 QuickTime 窗口最小化了。确保 iPhone 亮屏且 QuickTime 窗口可见。
❌ 设备 unavAIlable
iPhone 锁屏或 USB 断开。解锁 iPhone 屏幕,等几秒再试。
❌ 签名不匹配
先卸载旧 应用 再安装:
xc运行 devicectl device un安装 应用 --device 9B6F9009-7150-53F5-93D0-8CF3C1884F83