【问题标题】:iOS 12 Xcode 10 application:openURL:options: CrashiOS 12 Xcode 10 应用程序:openURL:选项:崩溃
【发布时间】:2019-03-02 03:56:26
【问题描述】:

我最近注意到我的应用在上传到 Appstore 时出现了一些问题:

无效的文档配置 - 基于文档的应用程序应支持文档浏览器 (UISupportsDocumentBrowser = YES) 或实现就地打开 (LSSupportsOpeningDocumentsInPlace = YES/NO)。访问https://developer.apple.com/document-based-apps/了解更多信息。

我的应用程序响应其 plist 'Document Types' 中设置的自定义扩展,并且在 iOS 12/Xcode 10 之前运行良好。

在 .plist 中将“支持就地打开文档”添加为“是”并将“支持文档浏览器”添加为“否”时,它会崩溃并显示以下消息:

'应用程序有 LSSupportsOpeningDocumentsInPlace 键,但没有实现 application:openURL:options: on delegate'

我的应用支持 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 

它仍然因上述错误而崩溃..

【问题讨论】:

  • 您是否按照崩溃错误消息中的说明实现了- (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary&lt;UIApplicationOpenURLOptionsKey, id&gt; *)options;?那不是你实现的。
  • 让我检查一下..
  • Jep,我的错..这有效,但是它产生了一个新问题......当从 iCloud 驱动器点击文件时,它现在给我一个 257(拒绝访问)错误.. 和以前一样iOS (

标签: objective-c crash xcode10 openurl ios12


【解决方案1】:

将此添加到您的应用委托中:

- (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<UIApplicationOpenURLOptionsKey, id> *)options {
    return YES;
}

从 ios 12 开始,如果您还在 info.plist 中添加了 LSSupportsOpeningDocumentsInPlace,则它是必需的

【讨论】:

    猜你喜欢
    • 2019-01-25
    • 1970-01-01
    • 2019-02-21
    • 2016-10-20
    • 2019-03-29
    • 1970-01-01
    • 2021-11-18
    • 1970-01-01
    • 2018-03-07
    相关资源
    最近更新 更多