将文档浏览器视图控制器与 Mac Catalyst 一起使用
Using Document Browser View Controller with Mac Catalyst
我刚刚开始试用 Catalyst。我的应用程序是一个基于文档浏览器的应用程序。
当单击相应的按钮时,确实启动了原装 MacOS Finder 对话框。当 Finder 对话框出现时,主应用 window 完全消失,除非我在 IB 中选择文档浏览器视图控制器以 "Automatic" 模式出现。
取消操作确实会带回主要 window。
但是,选择一个文件将产生一个空白屏幕并且没有任何结果。稍微调试一下,发现调用了none个文件选择函数,我都实现了:
func documentBrowser(_ controller: UIDocumentBrowserViewController, didPickDocumentURLs documentURLs: [URL]) {...}
func documentBrowser(_ controller: UIDocumentBrowserViewController, didImportDocumentAt sourceURL: URL, toDestinationURL destinationURL: URL) {...}
func documentBrowser(_ controller: UIDocumentBrowserViewController, failedToImportDocumentAt documentURL: URL, error: Error?) {...}
Catalyst 中是否使用了其他函数或句柄?我在文档中没有找到任何内容。
编辑:
我应该澄清一下,我操纵应用程序在 DocumentBrowserViewController 之前呈现 DocumentViewController,尽管 Apple 要求 DocumentBrowserViewController 是初始视图控制器。我通过更改应用程序委托来做到这一点:
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
...
// Set the documentViewController to appear first
self.window = UIWindow(frame: UIScreen.main.bounds)
let storyboard = UIStoryboard(name: "Main", bundle: nil)
let initialViewController = storyboard.instantiateViewController(withIdentifier: "main")
self.window?.rootViewController = initialViewController
self.window?.makeKeyAndVisible()
return true
}
把这个去掉还是没有任何改变。从文档浏览器模板创建的默认项目似乎确实有效。什么可以阻止调用这些方法?
我建议也实施 func documentBrowser(_ controller: UIDocumentBrowserViewController, didPickDocumentsAt documentURLs: [URL])
我刚刚开始试用 Catalyst。我的应用程序是一个基于文档浏览器的应用程序。
当单击相应的按钮时,确实启动了原装 MacOS Finder 对话框。当 Finder 对话框出现时,主应用 window 完全消失,除非我在 IB 中选择文档浏览器视图控制器以 "Automatic" 模式出现。
取消操作确实会带回主要 window。
但是,选择一个文件将产生一个空白屏幕并且没有任何结果。稍微调试一下,发现调用了none个文件选择函数,我都实现了:
func documentBrowser(_ controller: UIDocumentBrowserViewController, didPickDocumentURLs documentURLs: [URL]) {...}
func documentBrowser(_ controller: UIDocumentBrowserViewController, didImportDocumentAt sourceURL: URL, toDestinationURL destinationURL: URL) {...}
func documentBrowser(_ controller: UIDocumentBrowserViewController, failedToImportDocumentAt documentURL: URL, error: Error?) {...}
Catalyst 中是否使用了其他函数或句柄?我在文档中没有找到任何内容。
编辑: 我应该澄清一下,我操纵应用程序在 DocumentBrowserViewController 之前呈现 DocumentViewController,尽管 Apple 要求 DocumentBrowserViewController 是初始视图控制器。我通过更改应用程序委托来做到这一点:
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
...
// Set the documentViewController to appear first
self.window = UIWindow(frame: UIScreen.main.bounds)
let storyboard = UIStoryboard(name: "Main", bundle: nil)
let initialViewController = storyboard.instantiateViewController(withIdentifier: "main")
self.window?.rootViewController = initialViewController
self.window?.makeKeyAndVisible()
return true
}
把这个去掉还是没有任何改变。从文档浏览器模板创建的默认项目似乎确实有效。什么可以阻止调用这些方法?
我建议也实施 func documentBrowser(_ controller: UIDocumentBrowserViewController, didPickDocumentsAt documentURLs: [URL])