有没有一种方法可以通过编程方式从FileProvider Extension打开文件?
我的用例是,我有FileProviderUI扩展的macOS,其中显示了一个对话框与“打开文件”按钮。我想当用户点击“打开文件”按钮打开相关文件。
但是,当我执行:
NSWorkspace.shared.open(itemURL)
显示Finder错误:* 应用程序“MyAppAction(Finder)”没有打开“My File.txt "的权限。*
我猜这与FileProviderExtension被沙箱化有关,但是有没有办法以编程方式打开FileProvider文件呢?
1条答案
按热度按时间vuv7lop31#
以下是有关如何打开FileProvider文件夹的示例:
1.检索FileProvider根文件夹URL:
1.使用
NSOpenPanel
询问用户在哪里存储指向FileProvider根文件夹的符号链接。然后存储用户选择位置的书签数据,并在该位置创建指向FileProvider根的符号链接。1.以后你想在Finder中打开Root文件夹时,从
UserDefaults
中提取书签数据,并创建URL,这是符号链接存放的位置,在其上启动安全访问,然后打开符号链接URL:差不多就是这样,关键是保存用户在
NSOpenPanel
对话框中选择的位置的书签数据,在其中创建符号链接,这样即使在应用程序重新启动后,你也可以访问该资源。