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