ChangeLog
[2020-02-10-update] 在 Manjaro 上安装有点问题,还没折腾出来。
[2020-03-18-update] Arch 系的看文档好了: Arch_IOS
TL;DR;
核心是两个包:libimobiledevice,用于 Linux 与 IOS 设备通信;ifuse,用于挂载 IOS 设备的文件。
至于下面提到的 ideviceinstaller,则用于查看 IOS 的 app bundleID,即 IOS 设备安装的 app 的标识码。非必要。(如果你记得或通过其它途径能找到对应软件的标志码的话……)
需求
需求:把本地的电子书、电影、音乐等放进 iOS 设备方便使用。若是在 Windows 环境,有各种助手……Linux 咋整呢?
(非越狱前提下:)
限制
挂载 com.apple.Music
等软件的 Documents 目录,以及尝试 --container
挂载时,报错 ERROR: InstallationLookupFailed
。
有可能是 UIFileSharingEnabled
的问题,但我不确定。
可能的解决方案(我没试过):也许可以先通过助手(或者 libimobiledevice)安装 apple music 等软件的 ipa,然后尝试管理。
步骤
一、Linux 挂载 iOS 设备
执行
1 | apt-get install libimobiledevice-utils |
装上后,Linux 的机子就可以连接 iOS 设备了。
用数据线连接电脑与 iOS 设备后,在 iOS 端点击信任。之后,(一般来说)文件管理就会自动挂载上 iOS 的存储器。
文件管理器自动挂载上也不过是把设备挂载到
/media
。如果没自动挂载上而有需求,可以手动挂载。如果使用 ifuse,执行
ifuse <挂载点>
即可。例如:
ifuse /hqweay_phone
不过,存储器里只有图片、视频、以及「通过各种助手安装的软件的文件夹」等……
联系上面提到的 限制 。
这样已经能读到「通过各种助手安装的软件的文件夹」了。举个例子,如果我们需要把 Linux 电脑上的一本电子书放进 iOS 上的「多看阅读」,就可以先通过「各种助手软件」安装「多看阅读」,然后执行上面步骤,再直接把电子书放进多看阅读的文件夹。
cool!不过我们能不能读取到通过 App Store 安装的软件的文件夹呢?
看下面啦。
二、ifuse
通过 ifuse 可以挂载「通过 App Store 安装的软件的文件夹」到电脑。
Arch 安装
1 | sudo pacman -Sy ifuse |
手动安装
先下载并安装 ifuse。
1 | // cd 到要安装的目标路径,然后: |
编译安装。
1 | // 将源码在本机编译: |
编译途中可能会报错缺少依赖,按报错缺啥安装啥即可……
三、ifuse 使用
各种命令详情见文档。
https://github.com/libimobiledevice/ifuse
我们要干啥?要操作「通过 App Store 安装的软件的文件夹」。
ifuse 在这里起的作用便是把「通过 App Store 安装的软件的文件夹」挂载出来。
整个步骤分三步:一、在电脑上创个空文件夹(挂载点);二、找到要操作的软件的唯一标识号;三、通过标识号把软件的文件夹挂载到挂载点。
创建挂载点
创个空文件夹。例如文件夹名 hqweay_phone
。
获取 app bundleID
获取软件的唯一标识 app bundleID。
需安装 ideviceinstaller
。
1 | yay -Sy ideviceinstaller |
执行 ideviceinstaller -l
。
参数说明:
-l, --list-apps List apps, possible options:
-o list_user - list user apps only (this is the default)
-o list_system - list system apps only
-o list_all - list all types of apps
-o xml - print full output as xml plist
会列出 com.coderforart.iOS.MWeb
这类包名……这就是 app bundleID。
执行挂载
执行 ifuse --documents [app bundleID] [空文件夹]
。
–documents 挂载 Documents 目录
–container 挂载 sandbox
例如 MWeb
ifuse --documents com.coderforart.iOS.MWeb hqweay_phone/
或多看阅读
ifuse --documents com.duokan.reader hqweay_phone/
kindle
ifuse --documents com.amazon.Lassen hqweay_phone/
挂载上就可以把操作该软件的文件夹了。
注意开发者使用文件夹的规则不同,请确保文件放入的文件夹是软件对应的本地文件存放目录……
卸载
使用完了记得卸载……
fusermount -u [空文件夹]