Lyrebird 是一个基于拦截以及模拟 HTTP/HTTPs 网络请求的面向移动应用的插件化测试平台。
iOS plugin 是一个 Lyrebird 的插件,用于从 iOS 设备获取信息,如详细的设备信息、屏幕快照和应用信息。
本插件依赖于 libimobiledevice 第三方依赖
-
安装源管理工具 Homebrew
-
通过 Homebrew 安装 libimobiledevice
brew install --HEAD libimobiledevice brew install ideviceinstaller brew link --overwrite libimobiledevice sudo chmod -R 777 /var/db/lockdown/
-
最终,测试第三方依赖是否正常工作
ideviceinfo idevicescreenshot ideviceinstaller -l
pip3 install lyrebird-ios
lyrebird
使用时,通过 USB 线链接手机和电脑即可。
-
查看已连接设备的详细信息
-
截取 iOS 设备屏幕快照
-
查看已连接设备的应用信息
-
macOS
-
Python3.7 及以上
-
NodeJS
-
vscode(推荐)
-
Chrome(推荐)
# clone 代码
git clone git@github.com:Meituan-Dianping/lyrebird-ios.git
# 进入工程目录
cd lyrebird-ios
# 初始化后端开发环境
python3 -m venv --clear venv
# 初始化前端开发环境
cd frontend
npm install
cd ..
# 使用IDE打开工程(推荐vscode)
code .
{
"version": "0.2.0",
"configurations": [
{
"name": "backend",
"type": "python",
"request": "launch",
"module": "lyrebird",
"console": "integratedTerminal",
"args": [
"-vv",
"--plugin",
"${workspaceFolder}"
]
},
{
"name": "frontend",
"type": "chrome",
"request": "launch",
"url": "http://localhost:8080/ui/static/",
"webRoot": "${workspaceFolder}/frontend/src/",
"breakOnLoad": true,
"sourceMapPathOverrides": {
"webpack:///src/*": "${webRoot}/*"
}
}
]
}
-
激活 python 虚拟环境
通过
source venv/bin/activate
激活虚拟环境 -
通过 Debug 功能启动
按照上面 debug 配置中 python:Lyrebrid 配置启动即可
- 启动 node server
# 进入前端目录
cd frontend
# 启动前端node serve
npm run serve
-
通过 Debug 功能启动浏览器
按照上面 debug 配置中 vuejs: chrome 配置启动即可
注意: vscode 需要安装 chrome debug 插件
-
build 前端项目
# 进入前端目录
cd frontend
# build前端
npm run build
按照如下步骤重新安装 libimobiledevice,并留意安装过程中的错误提示。
-
卸载 libimobiledevice
brew uninstall --ignore-dependencies libimobiledevice
-
安装 libimobiledevice
brew install --HEAD libimobiledevice
-
若在安装 libimobiledevice 时出现了错误提示,如提示 usbmuxd 的版本不正确,使用如下命令解决依赖的版本问题
brew uninstall --ignore-dependencies usbmuxd brew install --HEAD usbmuxd brew unlink usbmuxd brew link usbmuxd
-
再次安装 libimobiledevice
brew install --HEAD libimobiledevice
在连接设备之前您必须确保开发者选项可用。通过 stackoverflow 获取更多解决帮助。