准备环境:
Linux: Ubuntu 16.04 LTS on VirtualBox
iPhone6: iOS10.0.2
第三方安装包:libimobiledevice
说明:
一般情况下如果连接iPhone到linux,Windows机器上,如果没有安装iTunes或者其他第三方软件,则只能识别照片,其他文件都是无法读取的,除非越狱后也是可以的。
libimobiledevice是一款基于GPL2.0开源协议的跨平台访问iOS设备的协议库,它是独立的软件库,没有苹果公司授权,也不需要依靠其它苹果授权的第三方软件和对设备越狱,可以帮助解决iPhone,iPod,iPad,Apple TV连接到其它非Mac OS设备,也允许其他软件访问这些设备的文件系统,管理安装的应用程序,以及获取其他的权限。但是这里并不是所有的权限,苹果考虑到其系统的安全性,有些功能还是被禁止访问的。
编译时linux系统需要提前安装的依赖:
make, autoheader,automake,autoconf, libtool, pkg-config, gcc
libimobiledevice中其他库文件介绍:
- libplist:
是以以二进制或者XML处理苹果属性列表文件的小的可移植的C语言库
- libusbmuxd:
通过usbmuxd后台程序提供的socket和iOS设备多路复用连接的客户端库。
- usbmuxd:
和iOS设备多路连接的socket守护进程,usbmuxd全称是“USB multiplexing daemon“,该进程通过USB和iOS设备复用连接。iTunes和iPhone通信使用的也是usbmux协议,所有和iOS设备通过USB通信都是需要usbmux, 当iOS设备通过USB插入时,usbmuxd作为中间媒介连接到设备,像TCP那样复用连接到设备的sockets,可以并行创建多个TCP 端口。
- ifuse:
实现访问iOS系统内容的fuse系统
官网:
安装:
可以到github上面下载源码
或者安装git, 使用git命令操作
配置git时,如果使用的是代理,需要设置http.proxy:
$git config --global http.proxy http://<username>:<password>@<proxy>:<port>
$git config --global user.name <your_github_username>
$git config --global user.email <your_github_emailaddress>
为便于管理,建立新文件夹用于对libimobiledevice的安装:
$mkdir libimobiledevice
$cd libimobiledevice
克隆源码包到本地:
$git clone https://github.com/libimobiledevice/libplist.git
$git clone https://github.com/libimobiledevice/usbmuxd.git
$git clone https://github.com/libimobi