Mac App Sandbox - NSHomeDirectory()问题

时间:2013-11-12 22:08:13

标签: cocoa sandbox

我只是沙盒化了我的Mac应用程序,在我的应用程序中,我将图像保存在文档文件夹中。我有这个文件网址:file:///Users/myUser/Documents/myApp/Images/logo.jpg

在我的沙箱后,我最终使用NSHomeDirectory()而不是直接进入Documents文件夹。这个问题是它剥离了file://。基本上,如何将file://附加到网址?

这是NSHomeDirectory()给我的:

/Users/myUser/Library/Containers/com.company.myApp/Data/myApp/Images/logo.jpg

稍后,用户可以选择另一个目录然后我可以使用电源盒,但在用户执行此操作之前,我需要能够将文件读/写到主目录。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

NSHomeDirectory()会返回NSString,而非NSURL。您可以通过调用:

将其转换为NSURL
NSURL* url = [NSURL fileURLWithPath:NSHomeDirectory()];

See here for docs

您可能还想使用NSHomDirectoryForUser(userName)代替NSHomeDirectory()