如何判断用户已授予哪些路径访问权限?我知道使用 NSOpenPanel,沙箱会自动扩展以允许访问用户选择的目录。这些信息是否存储在任何地方,以便我知道是否需要抛出 NSOpenPanel?
或者我需要在 NSUserDefaults 中本地跟踪它吗?
如何判断用户已授予哪些路径访问权限?我知道使用 NSOpenPanel,沙箱会自动扩展以允许访问用户选择的目录。这些信息是否存储在任何地方,以便我知道是否需要抛出 NSOpenPanel?
或者我需要在 NSUserDefaults 中本地跟踪它吗?
您有责任使用安全书签存储已授予的路径,阅读NSURL文档。
如果您需要访问路径,请检查您是否在受保护的书签上(例如存储在 NSUserDefaults 中)是否已重用它,否则显示打开的面板
如果您需要知道您的应用程序的当前执行是否可以访问您可以调用的特定路径access
- 请参阅 unix 手册页第 2 节。您可以测试读取、写入和执行访问权限,结果反映了当前沙箱。
如果您想在应用程序的执行之间保留访问权限,则需要创建安全范围的书签并将它们存储在用户默认值或其他文件中。