ToolsMac开发Mac开发云集

Mac应用获取iOS设备运行Log

2017-03-29  本文已影响371人  见闻无限

问题引入

iOS自动化测试或者性能测试过程中,有不少场景是需要检测设备的日志信息。
甚至还需要提取其中的业务日志进行进一步分析。
那么就需要一个工具来摆脱手动拷贝日志的糟糕情况。

可行性分析

Xcode-Windows-Device 可以看到当前连接设备的运行日志
iTools、PP助手等第三方程序可以获取当前连接设备的运行日志
开源项目
https://github.com/benvium/libimobiledevice-macosx 可执行方案
https://github.com/libimobiledevice 源代码项目

依赖关系

本文只分析到系统日志获取的功能,更高级的功能,如:关机、重启、截屏、文件系统等暂未涉及

1.png

openssl

https://www.openssl.org/
最新的git代码config配置变化,我们使用以前的常用版本https://www.openssl.org/source/old/1.0.2/
依次执行
./Configure
make
sudo make install

cd到/usr/local/
在include文件夹中找到 openssl目录保存备用
在lib文件夹中找到libcrypto.a和libssl.a保存备用

libplist

https://github.com/libimobiledevice/libplist.git
依次执行
./autogen.sh
make
sudo make install

cd到/usr/local/
在include文件夹中找到 plist 目录保存备用
在lib文件夹中找到 libplist.a 保存备用

libusbmuxd

https://github.com/libimobiledevice/libusbmuxd.git
依次执行
./autogen.sh
make
sudo make install

cd到/usr/local/
在include文件夹中找到 usbmuxd.h 和 usbmuxd-proto.h 文件保存备用
在lib文件夹中找到 libusbmuxd.a 保存备用

libimobiledevice

https://github.com/libimobiledevice/libimobiledevice.git
依次执行
./autogen.sh
make
sudo make install

cd到/usr/local/
在include文件夹中找到 libimobiledevice 目录保存备用
在lib文件夹中找到 libimobiledevice.a 保存备用

按照层级组织lib库,构建xcode工程

2.png

问题集合

1.ssl编译不通过
可能由于系统中存在冲突的ssl环境,可以清除、重启后重新安装
2.utils.c:307:9: warning: 'CLOCK_MONOTONIC' macro redefined [-Wmacro-redefined]#define CLOCK_MONOTONIC 1
CLOCK_MONOTONIC重复定义,直接注释掉即可
3.utils.c:309:12: error: static declaration of 'clock_gettime' follows non-static declaration
静态方法未定义,将方法前的static去掉
4.<plist/plist.h> file not found
plist 头文件无法索引到,改为 ”plist/plist.h”形式引用
5.<cstddef> file not found
C++头文件无法索引到,将项目中引用到libimobiledevice相关文件的 .m 改为 .mm

工程下载地址:https://github.com/one2zero/PrivateiOSDeviceConsole 感觉有用的尽管拿去吧。

上一篇 下一篇

猜你喜欢

热点阅读