我有一个想要在其中进行深层链接的应用程序。
当应用在后台打开时,该应用会在正确的页面上打开,如预期的那样。
但是,当应用程序关闭后再从链接中打开时,它会进入launchStoryboard,然后进入主界面情节提要,然后到达我想要的情节提要。
但是在主界面情节提要中,我正在调用api,完成此操作后,我的应用程序将返回主界面情节提要,但它应保留在情节提要中,就像从后台打开应用程序一样
有关如何解决此问题的任何想法?
我按照这些网址进行了操作
https://www.raywenderlich.com/6080-universal-links-make-the-connection
https://medium.com/@abhimuralidharan/universal-links-in-ios-79c4ee038272
https://developer.apple.com/library/archive/documentation/General/Conceptual/AppSearch/UniversalLinks.html
答案 0 :(得分:0)
在
上处理网址时,我会检查您处理网址的其他方式optional public func application(_ application: UIApplication, open url: URL, sourceApplication: String?, annotation: Any) -> Bool
vs
optional public func application(_ application: UIApplication, willFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey : Any]? = nil) -> Bool
optional public func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey : Any]? = nil) -> Bool
关于:
optional public func application(_ app: UIApplication, open url: URL, options: [UIApplication.OpenURLOptionsKey : Any] = [:]) -> Bool
从文档中:
摘要
要求委托人打开由URL指定的资源,并提供 启动选项字典。声明
可选的func应用程序(_ app:UIApplication,打开url:URL, 选项:[UIApplication.OpenURLOptionsKey:任何] = [:])->布尔 讨论
如果您的实现从中返回false,则不会调用此方法 应用程序(:willFinishLaunchingWithOptions :)和 application(:didFinishLaunchingWithOptions :)方法。 (如果只有 这两个方法都实现了,其返回值确定是否 就会调用此方法。)如果您的应用实现了 applicationDidFinishLaunching( :)方法代替 application(:didFinishLaunchingWithOptions :),此方法称为 在应用程序初始化后打开指定的URL。如果是网址 在您的应用暂停或在后台运行时到达 系统会在调用此方法之前将您的应用移至前台。 此委派方法没有等效的通知。