【问题标题】:deep links in ios - app not in backgroundios中的深层链接-应用程序不在后台
【发布时间】:2021-11-13 10:46:33
【问题描述】:
我正在使用通用链接在 ios 中实现深层链接。
据我所知,当应用程序在后台时,它正在工作,使用 sceneDelegate 方法
func scene(_ scene: UIScene, continue userActivity: NSUserActivity)
但是,如果应用程序不在后台,则深层链接只是打开应用程序而不发送链接信息。
是否可以使用通用链接或其他方式将用户重定向到应用程序中的特定位置,如果应用程序不在后台,例如重启后或用户终止应用程序?
谢谢
【问题讨论】:
标签:
ios
swift
deep-linking
ios-universal-links
【解决方案1】:
只有当用户是应用在后台时才会触发该委托方法,为了在应用被杀死时使通用链接起作用,您需要触发willConnectTo委托方法:
func scene(_ scene: UIScene, willConnectTo session: UISceneSession, options connectionOptions: UIScene.ConnectionOptions) {
guard let userActivity = connectionOptions.userActivities.first,
userActivity.activityType == NSUserActivityTypeBrowsingWeb,
let url = userActivity.webpageURL?.absoluteString else {
return
}
handleUniversalLink(url: url, scene: scene)
}