我正在使用由Branch处理的链接打开我的应用程序:


  https://my.link?param=test


didFinishLaunchingWithOptions中:

Branch.getInstance()?.initSession(launchOptions: launchOptions, andRegisterDeepLinkHandler: { params, error in
    if error == nil {
        if let param = params?["param"] as? String {
            print(param)
        }
    }
}


这样可以在控制台中正确打印test

但是,我也尝试之前获取URL,但是尝试获取launchOptions?[.url]时,结果是nil

那么我如何获得网址?谢谢你的帮助。

最佳答案

您需要使用UIApplicationLaunchOptionsKey

尝试这个:

if let url = launchOptions?[UIApplicationLaunchOptionsKey.url] as? URL {
  // Your code
}
else if let activityDictionary = launchOptions?[UIApplicationLaunchOptionsKey.userActivityDictionary] as? [AnyHashable: Any] { //Universal link
    for key in activityDictionary.keys {
        if let userActivity = activityDictionary[key] as? NSUserActivity {
               if let url = userActivity.webpageURL {
                    // your code
            }
        }
    }
}

10-08 18:13