我希望将我的应用程序数据保存在沙盒路径中,以使用户无法访问。
我的应用程序数据可以是文件或目录的形式。
Mac应用程序的沙盒路径是什么?我该如何访问这个路径?
如果您的目标是隐藏数据,那么无法将其从用户中隐藏,因为应用程序是在用户的UID下运行的。沙盒路径映射到:
~/Library/Containers/app-bundle-id/Data/
该功能与沙盒应用程序相关,通过使用NSSearchPathForDirectoriesInDomains()
Foundation函数访问,并且您从此调用中获取的文件夹取决于您传递的NSSearchPathDirectory
值。该网站有很多使用示例。
我认为使用NSHomeDirectory()获取路径是最好的。
sandboxed
应用程序的NSHomeDirectory()
行为非常不同!我仍然会使用NSSearchPathForDirectoriesInDomains()
和适当的常量(可能是Application Support),就像非sandboxed
应用程序一样。如果您进行任何随机编辑,例如在答案中提到此函数行为的区别,我将能够并且非常乐意更改为点赞。 - Ivan Vučica