Unity OSX独立播放器不存储本地数据

时间:2013-03-19 19:39:39

标签: macos save unity3d productbuild

我正在使用Unity 3.5,尝试为我的应用程序制作一个独立的OSX播放器。一切都很顺利,直到我使用productbuild制作一个pkg。

我的productbuild行的语法如下:

productbuild --component ProjectName.app "/Applications" --sign "$signingid" ProjectName.pkg

虽然这最初似乎有效,并且在请求超级用户的许可后生成一个似乎正确安装应用程序的pkg文件,然而,当我运行已安装的应用程序时,我发现它没有保留我的保存数据。 Application.datapath显然,在这种情况下设置为“/Applications/ProjectName.app/Contents/”,并且不是全局可写的。

据我所知,我有两种可能的解决方案:第一种方法是找到一些方法,以确保在我的应用程序开始时Application.datapath 可写。但是,我不知道我会怎么做。我能看到的唯一其他解决方案是对我的应用程序进行所有必要的更改,使其不再假定Application.datapath是可写的,并且我需要建立另一个位置来保存我的持久数据。如果我采用后一种方法,我还需要知道Unity是否提供了一个工具来获取我可以存储这些数据的目录,因为我目前还不知道。

如果除了上面提到的两个方法之外还有其他方法,我绝对愿意接受替代方案,但是如果有人可以帮助我通过我需要知道的事情来完成上述任何一个,我会同样感激在那方面也是如此。

提前感谢任何人提供的任何帮助。

1 个答案:

答案 0 :(得分:1)

Application.datapath是应用程序存储并由root拥有的位置。要获取用于在运行之间存储持久数据的目录,您需要Application.persistentDataPath,默认位于〜/ Library / 下的某处。我没有使用过OSX独立播放器,但至少对于编辑器和iOS来说它是这样的。