SWIFT:-快速通用链接不起作用

问题描述 投票:0回答:3

我在我的项目中使用通用链接。

我已经在服务器中制作了apple-app-site-association文件。

我在开发人员帐户中启用,为关联域使用Xcode,我写了

applinks:www.laundry.com

AppDelegate中使用的代码是:-

//Universal links in swift delegatemethod.
    func application(_ application: UIApplication,
                     continue userActivity: NSUserActivity,
                     restorationHandler: @escaping ([Any]?) -> Void) -> Bool
    {
        if userActivity.activityType == NSUserActivityTypeBrowsingWeb {
            let url = userActivity.webpageURL!
            let userurl = url.absoluteString
            // print(url.absoluteString)
            //handle url
            if defaultValues.value(forKey: accessToken) != nil
            {
                print("user url is:",userurl)
                let mainStoryboard: UIStoryboard = UIStoryboard(name: "Pickup", bundle: nil)

                let innerPage: PickupController = mainStoryboard.instantiateViewController(withIdentifier: "PickupController") as! PickupController
                innerPage.selectedfrom = "Deeplink"
                self.window?.rootViewController = innerPage
            }else{
                setRootControllerBeforeLogin()
            }
        }
        return true
    }

但是它不起作用,请帮助我。

ios swift ios-universal-links
3个回答
0
投票

我曾经使用过Firebase的动态链接,并覆盖了appDelegate中的另一个函数,如下所示。

func application(_ application:UIApplication, open url: URL, options: [UIApplication.OpenURLOptionsKey: Any]) -> Bool {
    print("I have received a URL through custom url scheme : \(url.absoluteString)")
    // tot do with dynamic link....
    if let dynamicLink = DynamicLinks.dynamicLinks().dynamicLink(fromCustomSchemeURL: url) {

        return true
    } else {
        // handle others like twitter or facebook login
    }

}

0
投票

在应用程序委托上执行

func application(_ application: UIApplication, continue userActivity: NSUserActivity, restorationHandler: @escaping ([Any]?) -> Void) -> Bool {


    if let url = userActivity.webpageURL {
        let component = URLComponents.init(string: url.absoluteString)!
        print(component.path)
    }

        return true



}

0
投票
func application(_ application: UIApplication, continue userActivity: NSUserActivity, restorationHandler: @escaping ([Any]?) -> Void) -> Bool {


if let url = userActivity.webpageURL {
    let component = URLComponents.init(string: url.absoluteString)!
    print(component.path)
}

    return true

}
© www.soinside.com 2019 - 2024. All rights reserved.