准备工作:
1.安装 libimobiledevice,ifuse,ifuse 依赖与 libimobiledevice,
可以选择 airport 或 brew 安装
sudo brew update
sudo brew install libimobiledevice
sudo brew install ifuse
2.拷贝 osxfusefs.fs 到/Library/Filesystems,并添加执行权限
sudo /bin/cp -RfX /usr/local/Cellar/osxfuse/2.6.2/Library/Filesystems/osxfusefs.fs /Library/Filesystems
sudo chmod +s /Library/Filesystems/osxfusefs.fs/Support/load_osxfusefs
3.终端输入 ifuse -h,会打印出详细使用说明
挂载某个应用的沙盒到~/myapp:
app_bundleId=com.my.app
udid=xxxxxxxxxxxx
ifuse -u ${udid} --container ${app_bundleId} ~/myapp
4.关闭挂载:
umount ~/myapp
PS:itoos 与 iexploer 等工具都是基于 libimobiledevice 库进行开发的,iOS 6.x 的越狱也用到了此库,更为重要的是 appium 也依赖于它,如果大家有安装过 appium 环境那么可以查看下 build/libimobiledevice-macosx/,有许多可执行的 unix 文件
idevice_id
idevicebackup
idevicebackup2
idevicedate
idevicedebugserverproxy
idevicediagnostics
ideviceenterrecovery
ideviceimagemounter
ideviceinfo
idevicepair
ideviceprovision
idevicescreenshot
idevicesyslog
可以直接使用这些命令行工具,例如:
idevice_id -l 可直接查看手机 id
idevicediagnostics 可让 iPhone 进行重启,关机,睡眠等。
我们可以利用 libimobiledevice 与 ifuse 进行 shell 封装,辅助实现自动化的测试过程。
另附上 git 地址:
https://github.com/libimobiledevice/libimobiledevice
https://github.com/libimobiledevice/ifuse
第一次发技术相关贴,如有描述不清或错误的地方,请大家多多指点,一起学习哈~