可能重复:
Mac OS X: Where should I store save games for a game delivered as a bundle?
我正在将我的iOS游戏迁移到mac。我用来存储高分的文件保存在xxx.app/Contents/Resources下。但是,当我启用沙箱和授权时,该目录将变为不可写。我也尝试了xxx.app和xxx.app/Contents。 那么我应该使用哪个目录或我应该添加哪些权利?
EDIT 我尝试了〜/ Library / Application Support /您的游戏名称/并且它没有显示权限错误但无法保存游戏数据。 user / my_name下没有库,但在unser / shared下没有。我需要添加任何权利吗?
编辑2: 请不要关闭这个问题。早期问题的答案对我不起作用。相反,这个问题的标记答案是正确的。
答案 0 :(得分:4)
在应用程序沙盒中,您的应用程序有一个容器文件夹,它可以在任何地方写入,但我建议只写入Data / Documents文件夹,可以使用以下代码获取:
NSString *documentDir = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0];
这将为您提供~/Library/Containers/com.yourdomain.yourapp/Data/Documents
处的文件夹。请注意,~/Library
文件夹隐藏在Lion / Mountain Lion下,因此需要在命令行中使用此文件夹取消隐藏:
$ chflags nohidden ~/Library
(只有你,开发人员,需要取消隐藏该文件夹,以便您可以从Finder中查看您的应用程序已编写的内容;您的用户无需取消隐藏它以使用您的应用程序。)