我有一个应用程序,当用户与另一个用户共享应用程序中的特定内容时,它使用深层链接导航到某个页面。这在第二个用户已经运行应用程序时有效,但如果应用程序未运行,它只是打开应用程序并保留在主屏幕上。我知道我一定在这里遗漏了一些非常简单的东西,但我就是想不通,也无法在谷歌上找到与此相关的任何答案。
我在 AppDelegate.swift 中的代码:
func application(_ application: UIApplication, open url: URL, sourceApplication: String?, annotation: Any) -> Bool {
let urlPath : String = url.path as String!
let urlHost : String = url.host as String!
let mainStoryboard: UIStoryboard = UIStoryboard(name: "Main", bundle: nil)
if(urlHost != "example.com")
{
print("Call Not From Correct Host. Not Continuing...")
return false
}
if(urlPath == "/articles"){
let article: ArticleDetailsViewController = mainStoryboard.instantiateViewController(withIdentifier: "ArticleDetailsViewController") as! ArticleDetailsViewController
self.window?.rootViewController = article
}
self.window?.makeKeyAndVisible()
return true
}
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
// Override point for customization after application launch.
return true
}
最佳答案
这是正确的行为。
你应该在 appliction(_: didFinishLaunchingWithOptions:)
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
// Override point for customization after application launch.
if let url = launchOptions[.url] as? URL, let annotation = launchOptions[.annotation] {
return self.application(application, open: url, sourceApplication: launchOptions[.sourceApplication] as? String, annotation: annotation)
}
return true
}
关于ios - 深度链接仅在应用程序运行时有效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44529289/