Mac App:使用基于文档的应用程序存储信息

时间:2012-01-09 06:08:33

标签: objective-c macos filesystems app-store

我正在规划Mac App的基础架构,我们有一个启动屏幕,其中列出了许多用户文件。我们希望App与iCloud兼容(因此需要基于文档(键值不会削减它,因为它们不是嵌套的 - 如果我在这里错了,请纠正我))。基本上,我们不希望让用户自己跟踪每个单独的文件,因为这会令人恼火,而是将其存储在App的文件夹中,直到用户需要它(即电子邮件,导出等)。我们认为,这将消除应用程序中的大量摩擦。我想我的问题是:

  • 是否可以自动将文件存储在App的安装文件夹(或本地某处?)而无需打扰用户 - 在基于文档的应用程序中 - 并且仍然与App Store兼容?似乎是理想的解决方案 - 用户打开应用程序,应用程序知道它的保存位置,并在用户创建文档时自动保存文档,并在需要时将其拉出来共享。有什么帮助吗?

1 个答案:

答案 0 :(得分:0)

是的,这是可能的。您不希望将文档存储在应用程序的安装文件夹中。对于一件违反App Store规则的事情,但无论如何都是不好的行为,因为应用程序通常安装在/ Applications中,不应该与其他文件混在一起。因此,将内容存储在〜/ Library / Application Support / YourAppName中即可。

要实际实现它,请查看NSDocumentController和NSDocument本身。您基本上想要覆盖/修改任何允许用户选择保存/打开文档的位置的UI。相反,只需让他们为文档命名,然后使用给定名称在app support文件夹中自动保存它们。然后创建一个UI,允许他们在应用程序中浏览和打开这些文件。