问题描述
执行以下代码时应用程序可能会崩溃。
代码:
self.documentInteractionController = [UIDocumentInteractionController interactionControllerWithURL:targetURL];
崩溃日志: 由于未捕获的异常“NSGenericException”而终止应用程序,原因:“UIDocumentInteractionController 不可用”
是否有针对此问题的解决方案或任何替代课程?
解决方法
不管文档怎么说,它在 Catalyst 中不可用。
您可以使用 AppKit 替代品 (QLPreviewPanel) 进行探索,但您必须进行一些黑客攻击才能使其从 Catalyst 应用程序中运行: https://stackoverflow.com/a/32814132/1601849
,如果你想保持与 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];
}