我需要使用 Mac 或 Linux 的命令行(非 gui)访问安装在 iOS 设备上的应用程序的沙盒目录。这是为了帮助开发和测试自动化。将 json 文件拖放到沙箱中可以让我设置额外的调试消息和更短的刷新间隔等参数。
像 iFunBox 这样的工具可以完美运行,但只是图形化的,需要多次点击才能完成。发给开发人员的电子邮件没有得到答复。它也不支持 AppleScript。我确实找到了另一个提供 Fuse 模块的应用程序,但结果发现它有问题,特别是如果该应用程序被卸载然后重新安装(为了重置回第一次用户体验)。我向开发人员报告了这些问题,但目前还没有解决办法。
我需要做的事情是:
- 测试是否安装了具有特定捆绑 ID 的应用
- 如果不存在,则创建 Library/Caches/MYLIBNAME 目录
- 将 ~100 字节的 json 文件从 Mac 复制到该目录
- 获取该文件的副本
- 仅适用于 Linux 的解决方案也是可以接受的
- 设备未越狱,我不希望将其作为要求
在某些情况下,我没有应用程序的源代码,因为它是使用我的库的第三方,因此编译不同版本的应用程序是不切实际的。
感谢lxt,答案在许多评论中。总结是:
- 与 libimobiledevice 相关的各种库和程序可以解决问题
- 使用已修补的 iFuse 挂载应用程序沙箱
- 使用 idevicesyslog 查看控制台日志
- 使用 ideviceinstaller 安装/卸载应用程序
- 与 libimobiledevice 相关的各种库和程序即使不是不可能在 Linux 或 Mac 上编译也非常困难,并且源代码或二进制文件没有统一分发
- 对于 Ubuntu,请尝试 libimobiledevice(可能有 3 个后缀)、ideviceinstaller 和 libimobiledevice-utils 包
- 对于 Mac,搜索 libimobiledevice-macosx 可能会为您提供一些帮助