iOS、配置文件和沙盒

iOS, config files and sandboxing

我的理解是,由于沙盒,无法使用其他应用查看与 iOS 应用关联的任何文本文件(即配置文件)。 Android 的东西很简单。我错了吗?

我正在尝试使用 Unity iOS 应用程序实现一个文本配置文件,该文件会在应用程序启动时加载并解析一次。 此配置文件也可以在该实际 iOS 设备上手动编辑和保存。

(附录) 在 Unity 中有 PersistentDataPath 解析为 /var/mobile/Container/Data/Application/foo/Documents

是否有 iOS 支持的文件资源管理器应用程序允许我查看和编辑此位置的文件(无需越狱)?

  1. 使用可以检查iOSApp Groups。它允许多个应用程序访问共享容器并允许进程间通信。没有太多关于此的文档,但也许这就是您正在寻找的。至少你可以在应用程序之间共享 NSUserDefaults

  2. NSUserDefaults 这是为您的应用程序保存任何(不大)配置的最简单方法。对于手动编辑:如果您的应用程序在设备上使用开发者证书签名,您可以通过任何 iOS 支持的文件资源管理器应用程序连接并编辑它。但是发布后,从 App Store,你的应用程序安装在 restricted/private 路径,所以这是不可能的,只要你没有越狱。

  3. 您可以将初始配置放入您的应用程序包中,并且首先 运行 只需将它们复制到 NSUserDefaults

简短回答:有一些实用程序,例如 iExplorer - https://macroplant.com - 允许 "file manager" 类型的访问。然而...

长答案:如果您的应用需要用户购买(或获得)其他软件来修改配置文件,Apple 批准它的可能性很小 none .

适当的做法是在您自己的应用程序中提供一个用户界面,允许用户修改/更新设置。