Использование контроллера просмотра в браузере документов с Mac Catalyst
Я только начал экспериментировать с Catalyst. Мое приложение - это приложение на основе браузера документов.
Стандартное диалоговое окно MacOS Finder действительно запускается при нажатии соответствующей кнопки. Главное окно приложения полностью исчезает, когда появляется диалоговое окно Finder, если я не выберу в IB, чтобы контроллер представления браузера документов отображался в "автоматическом" режиме.
Отмена операции действительно возвращает главное окно.
Однако выбор файла приведет к пустому экрану и без результатов. Небольшая отладка показала, что ни одна из функций выбора файлов не вызывается, и я реализовал их все:
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 другая функция или дескриптор? В документации ничего не нашел.
РЕДАКТИРОВАТЬ: Я должен уточнить, что я манипулировал приложением, чтобы представить DocumentViewController перед DocumentBrowserViewController, хотя 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
}
Удаление этого еще ничего не меняет. И проект по умолчанию, созданный из шаблона браузера документов, похоже, работает. Что могло помешать вызову этих методов?
1 ответ
Я бы предложил реализовать func documentBrowser(_ controller: UIDocumentBrowserViewController, didPickDocumentsAt documentURLs: [URL])
также