如何查看USB连接的iOS已发布App的stdout(类Android adb功能)
如何查看USB连接的iOS已发布App的stdout(类似Android adb)
当然可以实现!想要像Android的adb那样,只捕获USB连接的iOS设备上已发布App的stdout、不混进系统日志,有几种实用的方法:
用
libimobiledevice工具集精准过滤
这是一套开源跨平台的iOS设备管理工具,完全不需要依赖Xcode,和adb的定位很像。- 先安装工具:Mac上可以用Homebrew执行
brew install libimobiledevice ideviceinstaller,Windows/Linux也有对应的安装包可以获取。 - 找到目标App的Bundle ID:运行
ideviceinstaller -l,会列出设备上所有已安装App的名称和Bundle ID,记下你要查看的那个。 - 过滤并查看App的stdout:执行下面的命令,替换成你的Bundle ID即可:
这样就能只显示该App输出的日志内容,完全不会夹杂系统或其他App的日志。idevicesyslog | grep "com.yourcompany.yourapp"
- 先安装工具:Mac上可以用Homebrew执行
Xcode轻量过滤(如果已安装Xcode)
如果你电脑上本来就有Xcode,不用打开任何项目也能搞定:- 打开Xcode,点击顶部菜单栏的
Window > Devices and Simulators。 - 在左侧选中你的USB连接设备,底部会出现日志输出区域。
- 在日志区域的搜索框里输入目标App的Bundle ID或者进程名,就能自动过滤出该App的所有日志,包括stdout内容,完美避开系统日志。
- 打开Xcode,点击顶部菜单栏的
自定义日志转发(针对自有开发的App)
如果这个已发布App是你自己开发的,还可以提前在代码里把stdout的内容通过os_log或者自定义日志组件转发,之后再用上面的工具过滤,这样能获得更精准的日志内容。不过这个方法需要你有App的源码,提前做适配。
注意:从App Store下载的已发布App,部分日志可能会被系统限制,但基础的stdout输出大多还是可以被捕获到的。
内容的提问来源于stack exchange,提问作者Mens Rifles
相关产品推荐
相关产品推荐

