深层链接未显示正确的故事板

时间:2018-10-22 13:31:19

标签: ios swift deep-linking appdelegate

我有一个想要在其中进行深层链接的应用程序。 当应用在后台打开时,该应用会在正确的页面上打开,如预期的那样。
但是,当应用程序关闭后再从链接中打开时,它会进入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

1 个答案:

答案 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。如果是网址   在您的应用暂停或在后台运行时到达   系统会在调用此方法之前将您的应用移至前台。   此委派方法没有等效的通知。