7

我想编写/使用可以访问 iOS 文件系统(非越狱)的开源脚本。在越狱设备上,我使用ssh/从设备scp访问、传输数据。目的是使用一些脚本将iOS 文件系统的某些部分(例如/var/mobile/Applications/xxx-xxxx/Documents)从越狱设备复制到 Mac 。我看到像 iFunBox 这样的工具能够做到这一点。想知道它设法做到了。

我遇到了mobiledevice.h但无法真正理解如何使用它。

此外,更愿意通过 USB 完成此操作。对于越狱设备,我使用tcprelay.py进行USB 隧道。有什么东西可以用于非越狱设备吗?

4

2 回答 2

6

您可以安装托管在此处的 ifuse 工具:https ://github.com/libimobiledevice/ifuse

为了编译这个工具,你需要一组 Gnu 工具(make、libtool 等)。

#Don't worry - clang is still default
sudo port install gcc48 

注意:更新您的 .bash_profile (或类似的)以包含以下内容:

#Important - this is where your compiled libs will get installed to, so we need this
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig/** 

这个过程的其余部分应该需要几分钟

安装fuse4x

sudo port install fuse4x

构建依赖项:

签出:https://github.com/libimobiledevice/libplist, cd 进入结帐,然后运行:

./autogen.sh
./configure
make
sudo make install

签出:https ://github.com/libimobiledevice/libusbmuxd,cd进入结帐,然后运行:

./autogen.sh
./configure
make
sudo make install

签出:https://github.com/libimobiledevice/libimobiledevice, cd 进入结帐,然后运行:

./autogen.sh
./configure
make
sudo make install

(如果你在 Linux 上,你还需要在构建 libusbmuxd 和 libimobiledevice 之后安装 usbmuxd ......否则,对于 Windows 和 OSX ......)

现在构建 iFuse:

查看:https ://github.com/libimobiledevice/ifuse

./autogen.sh
./configure
make
sudo make install

要使用 ifuse 访问应用程序的文档目录:

制作挂载目录:

sudo mkdir -p /Volumes/myapp.app

现在挂载应用程序的目录:

ifuse --container <appid> /Volumes/abced.app

其中 app id 是 bundle identifier 中显示的名称。. 例子:

 ifuse --container mycompany.ABCED.com /Volumes/abced.app/

(参考附图)

在此处输入图像描述

于 2013-12-13T13:59:34.453 回答
5

MobileDeviceManager 库为我们带来了简单的文件系统操作(它是您遇到的 MobileDevice 框架的易于使用的 Objective-C 包装器)。

问题是它不支持将文件从设备复制到计算机,反之亦然。因此,为了解决这个问题,我创建了一个补丁 ( GitHub gist ),您可以将其合并到包含的示例程序中以使其理解该copyFrom命令。

于 2013-08-03T22:17:37.000 回答