UIDocumentInteractionController недоступен в Mac Catalyst

Может произойти сбой приложения при выполнении кода ниже.

Код: self.documentInteractionController = [UIDocumentInteractionController interactionControllerWithURL:targetURL];

Журнал сбоев: завершение работы приложения из-за неперехваченного исключения "NSGenericException", причина: "UIDocumentInteractionController недоступен"

есть ли решение этой проблемы или альтернативный класс?


person Yogendra Patel    schedule 31.12.2020    source источник


Ответы (2)


Он недоступен в Catalyst, несмотря на то, что написано в документации.

Вы можете изучить использование альтернативы AppKit (QLPreviewPanel), но вам придется немного взломать, чтобы заставить его работать из приложения Catalyst: https://stackoverflow.com/a/32814132/1601849

person Adam    schedule 03.01.2021
comment
не могу добавить катализатор QLPreviewPanel для Mac. проверьте developer.apple.com/documentation/quartz/. Если есть какое-либо другое решение, чем пожалуйста, помогите мне - person Yogendra Patel; 05.01.2021
comment
Сделано с использованием QLPreviewController. Спасибо. - person Yogendra Patel; 05.01.2021
comment
Потрясающие! Я думал, что есть QuickLook для iOS, но не смог найти QLPreviewController. Рад, что работает! - person Adam; 05.01.2021

Если вы хотите оставить совместимость с OSX 10.5, вы можете сделать эту проверку:

if UIDevice.current.systemName == "Mac OS X" {
   let version = Int (UIDevice.current.systemVersion.prefix (2)) ?? 10
   if version > 10 {
      self.documentInteractionController = [UIDocumentInteractionController interactionControllerWithURL:targetURL];
   } else {
      //do something
   }
} else {
   self.documentInteractionController =[UIDocumentInteractionController interactionControllerWithURL:targetURL];


}
person Sergio Strati    schedule 02.02.2021