Mac App Sandbox - NSHomeDirectory() 问题

Posted

技术标签:

【中文标题】Mac App Sandbox - NSHomeDirectory() 问题【英文标题】:Mac App Sandbox - NSHomeDirectory() issues 【发布时间】:2013-11-12 22:08:12 【问题描述】:

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

在我的沙箱之后,我最终使用 NSHomeDirectory() 而不是直接进入 Documents 文件夹。问题在于它去掉了file://。基本上,如何将file:// 附加到 URL?

这是NSHomeDirectory() 给我的:

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

稍后,用户可以选择另一个目录,然后我可以使用电源盒,但在用户这样做之前,我需要能够读取/写入文件到主目录。

有什么想法吗?

【问题讨论】:

【参考方案1】:

NSHomeDirectory() 返回 NSString,而不是 NSURL。您可以通过调用将其转换为NSURL

NSURL* url = [NSURL fileURLWithPath:NSHomeDirectory()];

See here for docs.

您可能还想使用NSHomDirectoryForUser(userName) 而不是NSHomeDirectory()

【讨论】:

当然。我想我在做这个的时候太累了。谢谢!

以上是关于Mac App Sandbox - NSHomeDirectory() 问题的主要内容,如果未能解决你的问题,请参考以下文章

如何在启用 Mac App Sandbox 的情况下运行 Shell 脚本?

全网首发:(解决办法)MAC OS Xcode给应用设置沙箱(Enable App Sandbox)之后,运行报错Illegal instruction: 4

全网首发:(解决办法)MAC OS Xcode给应用设置沙箱(Enable App Sandbox)之后,运行报错Illegal instruction: 4

iOS 真机访问 sandbox 目录的各种姿势

Mac App Store 登录中的沙盒用户更改

Mac Sandbox:测试文件是不是可访问