我在使用 Appdelegate 方法 OpenURL 时遇到问题。
我已经设置了导入的 UTI 和文档类型。但是,当从邮件附件打开我的应用程序时,应用程序会在我实现该方法后立即崩溃。
折旧的handleOpenURL可以用,但OpenURL不行?
目前我没有实现代码,只是返回 true。
func application(application: UIApplication, openURL url: NSURL, sourceApplication: String, annotation: AnyObject?) -> Bool {
return true
}
崩溃说Thread 1: EXC_BAD_ACCESS (code-1, address-0x0)
我真的不想使用已弃用的方法。
这个问题让我头疼了一个星期。
使用微信/LinkedIn 等社交媒体登录后,我的应用程序不断崩溃。但 Facebook 和 Google 登录工作正常。
我注意到我的应用程序在确认登录微信应用程序后将继续崩溃,并将进入前台。并且正在获取不良过量错误。我尝试删除我的应用程序打开url方法 on 应用程序代理应用程序不会崩溃,但社交媒体登录操作不起作用。所以我发现我的问题出在特定方法上。搜索网络后我发现我使用ApplicationOpenUrl 已弃用的方法作为参考https://developer.apple.com/documentation/uikit/uiapplicationdelegate/1623073-application
func application(_ application: UIApplication, open url: URL, sourceApplication: String?, annotation: Any) -> Bool {
return true
} // this method is deprecated in iOS 9 https://developer.apple.com/documentation/uikit/uiapplicationdelegate/1623073-application
请注意,已弃用的版本正在使用注释:Any,如果您桥接到 Obj-c 框架(例如微信),这将导致问题。
所以我所做的是将代码交换为新格式
func application(_ app: UIApplication, open url: URL, options: [UIApplicationOpenURLOptionsKey : Any] = [:]) -> Bool {
let sourceApplication = options[UIApplicationOpenURLOptionsKey.sourceApplication] as? String
let annotation = options[UIApplicationOpenURLOptionsKey.annotation]
let application = app
return true
}
希望这有帮助。它也将成为我的功能参考。感谢 StackOverflow
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)