2011-08-26 220 views
3

我希望将我的Windows应用程序之一迁移到mac。在哪里存储数据在Cocoa应用程序?

正如我们所知,在Vista/Win7上,有一个应用程序可以添加,保存和删除数据文件的公共数据目录没有RAC许可

Mac/Cocoa上有相同的目录吗?

我可以将数据传送到任何目录下存放没有任何问题的任何许可?

欢迎任何评论

+2

请确保您没有硬编码您使用的路径,请使用API​​找到它们。例如,这将返回一个包含应用程序支持文件夹路径的数组:'NSSearchPathForDirectoriesInDomains(NSApplicationSupportDirectory,NSUserDomainMask,YES)' –

+1

另外,NSFileManager有一个返回NSURL对象的等价方法(越来越是现代文件系统访问的前进方向) 。它也取消了没有人真正使用过的阵列,所以它稍微容易一些。 –

+1

如果您为Mac开发,则应阅读[HIG](http://developer.apple.com/library/mac/#documentation/UserExperience/Conceptual/AppleHIGuidelines/Intro/Intro.html)。它也提到了这一点。 – 2011-08-26 07:41:43

回答

6

您可以在默认情况下,除非您启用沙拳击,写入用户可以访问到任何目录。但是总的来说,Cocoa程序存储在用户的主目录数据~/Library/Application Support/<your-app-name>

+1

+1,因为我无法忍受存储在文档目录中的应用程序(如Microsoft Office和Autodesk Maya)。 – 2011-08-26 07:40:13

+1

HIG特别提到Documents文件夹仅适用于用户创建的文件。您的应用程序隐式创建的任何文件(包括但不限于“鞋盒”[iPhoto/iTunes风格]应用程序的数据库)应该放置在库中的某个位置。 HIG就此和其他许多主题提供了更具体的指导。 –

6

这些都是在3,您可以写信至:

~/Library/Application Support/app-identifier

~/Library/app-identifier

~/Library/Caches/app-identifier

(更换APP-用您的应用程序标识符标识)

Mor电子邮件here“Mac App Store中的文件系统使用要求”

相关问题