mac应用程序主捆绑资源权限与沙箱和权利



可能重复:
Mac OS X:对于捆绑交付的游戏,我应该在哪里存储保存游戏?

我正在将我的iOS游戏迁移到mac。我用来存储高分的文件保存在xxx.app/Contents/Resources下。但是,当我启用沙盒和权限时,该目录将变得不可写入。我也试过xxx.app和xxx.app/Contents,但运气不好。那么我应该使用哪个目录,或者应该添加哪个权限?

编辑我已经尝试过~/库/应用程序支持/你的游戏名称/,但它没有显示权限错误,但无法保存游戏数据。user/my_name下没有Library,而是unser/shared下有一个Library。我需要添加任何权利吗?

编辑2:请不要结束这个问题。前面问题的答案对我不起作用。相反,这个问题的标记答案是正确的。

在应用程序沙盒下,您的应用程序有一个容器文件夹,可以在其中写入几乎任何位置,但我建议只写入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中四处查看你的应用程序写了什么;你的用户不需要取消隐藏它就可以使用你的应用(。

最新更新