Sss*_*ift 12 macos nsurl foundation security-scoped-bookmarks
我正在制作一个沙盒 Mac 应用程序,我使用 NSOpenPanel 获取文件 URL,并将其保存到 UserDefaults 作为安全范围的书签。当我退出并重新启动应用程序时,我可以再次将数据块解析为 URL。
文档说我应该调用startAccessingSecurityScopedResource(),并检查它的返回值。(true当我调用它时确实会返回。)但是如果我不调用它,我仍然有一个已解析的 URL,而且我似乎仍然有权访问它。
什么是startAccessingSecurityScopedResource()真正做到?如果我不打电话,有什么不好的事情会发生吗?
只要您的应用程序仅访问标准位置(下载、音乐电影、图片)中的文件,并且您在应用程序中包含了程序化文件和文件夹访问所需的权利,您就无需为这些位置存储安全范围的书签。
但是对于在应用程序重新启动后应该仍然可以访问的其他位置,您应该存储安全范围的书签并startAccessingSecurityScopedResource()在访问之前调用。如果您跳过该步骤,您将在尝试访问该文件时立即收到异常。
startAccessingSecurityScopedResource() 使安全范围书签的资源可用于您的应用程序的沙箱,从而授予您对该资源的访问权限。
| 归档时间: |
|
| 查看次数: |
3630 次 |
| 最近记录: |