我最近注意到我的应用程序存在一些问题,导致在上传到 Appstore 时出现警告:
无效文档配置 - 基于文档的应用程序应支持文档浏览器 (UISupportsDocumentBrowser = YES) 或实现就地打开 (LSSupportsOpeningDocumentsInPlace = YES/NO) .访问https://developer.apple.com/document-based-apps/了解更多信息。
我的应用程序响应其 plist“文档类型”中设置的自定义扩展,并且在 iOS 12/Xcode 10 之前运行良好。
当在 .plist 中将“支持就地打开文档”添加为"is"并将“支持文档浏览器”添加为“否”时,它会崩溃并显示此消息:
“应用程序具有 LSSupportsOpeningDocumentsInPlace key ,但未在委托(delegate)上实现应用程序:openURL:选项:”
我的应用支持 iOS 8 及更高版本,并且可以正常响应:
(BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation
在我的 AppDelegate 中。
当我添加新的
- (void)openURL:(NSURL *)url options:(NSDictionary<UIApplicationOpenExternalURLOptionsKey, id> *)options completionHandler:(void (^)(BOOL success))completion
它仍然因上述错误而崩溃..
最佳答案
将此添加到您的应用委托(delegate)中:
- (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<UIApplicationOpenURLOptionsKey, id> *)options {
return YES;
}
自 ios 12 起,如果您还在 info.plist 中添加了 LSSupportsOpeningDocumentsInPlace,则它是必需的
关于objective-c - iOS 12 Xcode 10 应用程序 :openURL:options: Crash,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52516584/