Log*_*gan 5 appdelegate swift ios-universal-links
我有我的应用程序设置来处理通用链接。我们处理 URL 的检索,以及在此函数中给定 URL 的导航:
func application(_ application: UIApplication, continue userActivity: NSUserActivity, restorationHandler: @escaping ([UIUserActivityRestoring]?) -> Void) -> Bool {
guard NSUserActivityTypeBrowsingWeb == userActivity.activityType, let url = userActivity.webpageURL else {
return false
}
// Do navigation to correct page based on URL
return true
}
Run Code Online (Sandbox Code Playgroud)
当我们的应用程序之前在后台运行时,这对我们来说非常有效,并且点击了一个通用链接。
但是,当我完全终止应用程序并单击通用链接时,此功能似乎没有运行,因此它根本不处理通用链接,它只是将用户带到主页选项卡。
我试过抓取其中的 URL application(didFinishLaunchingWithOptions:),application(_ app: UIApplication, open url: URL, options: [UIApplication.OpenURLOptionsKey : Any] = [:])但似乎也没有调用它们。
有没有人对此有任何想法?
谢谢!
小智 13
Swift 5 IOS 14当应用程序终止时使用
func scene(_ scene: UIScene, willConnectTo session: UISceneSession, options connectionOptions: UIScene.ConnectionOptions) {
// Get URL components from the incoming user activity.
guard let userActivity = connectionOptions.userActivities.first,
userActivity.activityType == NSUserActivityTypeBrowsingWeb,
let incomingURL = userActivity.webpageURL
else { return }
DispatchQueue.main.asyncAfter(deadline: .now() + 2) {
LinkHandler.sharedInstance.handleLink(url: incomingURL)
}
guard let _ = (scene as? UIWindowScene) else { return }
}
Run Code Online (Sandbox Code Playgroud)
小智 1
url位于application(didFinishLaunchingWithOptions:)选项内。请再测试一下。
Apple 文档:launchOptions 指示应用程序启动原因的字典(如果有)。在用户直接启动应用程序的情况下,该字典的内容可能为空。有关此字典中可能的键以及如何处理它们的信息,请参阅启动选项键。
https://developer.apple.com/documentation/uikit/uiapplicationdelegate/1622921-application
| 归档时间: |
|
| 查看次数: |
1284 次 |
| 最近记录: |