如何在NSURL上正确使用stopAccessingSecurityScopedResource

时间:2013-05-28 12:18:31

标签: macos cocoa appstore-sandbox

沙盒应用必须使用安全范围书签才能在重新启动时保存其文件访问权限。 NSURL docs说:

  

你必须平衡每次通话   startAccessingSecurityScopedResource   对stopAccessingSecurityScopedResource进行相应调用的方法   方法

但是我无法从文档中看到我是否必须在通过解析书签获得的完全相同的stopAccessing对象上调用NSURL方法。 (这些具有特殊属性的神奇' NSURL对象?)

我想在从文件路径生成的新NSURL对象上调用stopAccessing。当然这些指向相同的资源。但它有同样的效果吗?

如何查看是否已停止对NSURL资源的访问?

2 个答案:

答案 0 :(得分:1)

我非常确定NSURL对象中有元数据,并且某种令牌授予对该资源的访问权限。

我不认为你所建议的是建议的做法,但要试一试,看看它是否有效。

答案 1 :(得分:1)

“如何查看是否已停止访问NSURL资源?”

stopAccessingSecurityScopedResource是一个void方法,而不是布尔值,并且似乎无法测试资源以查看它是否已“停止”。

  • (无效)stopAccessingSecurityScopedResource

我的结论是你必须自己跟踪它。