如何在iOS应用程序中访问通用链接?

如何在iOS应用程序中访问通用链接?,ios,deep-linking,xcode10,ios-universal-links,Ios,Deep Linking,Xcode10,Ios Universal Links,我正在使用universal link打开iOS应用程序,根据链接数据,我必须在iOS应用程序中打开viewcontroller 我使用的是Xcode 10.0。并在iOS 12.0(iPhone 7 Plus)上运行应用程序 这是我的通用链接: 当我点击此链接时,应用程序启动,但不会调用下面给出的方法: private func application(_ application: UIApplication, continue userActivity: NSUserActivity, re

我正在使用universal link打开iOS应用程序,根据链接数据,我必须在iOS应用程序中打开viewcontroller

我使用的是Xcode 10.0。并在iOS 12.0(iPhone 7 Plus)上运行应用程序

这是我的通用链接:

当我点击此链接时,应用程序启动,但不会调用下面给出的方法:

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

    print("\(#function) ---- \(userActivity.webpageURL)")
    if #available(iOS 11.0, *) {
        print("\(#function) ---- \(userActivity.referrerURL)")
    } else {
        // Fallback on earlier versions
    }


    if let incominURL = userActivity.webpageURL{

        let linkHandled = DynamicLinks.dynamicLinks()?.handleUniversalLink(incominURL, completion: { (dynamiclink, error) in

            if let dynamiclink = dynamiclink, let _ = dynamiclink.url{

                self.handleIncomingDynamicLink(dynamiclink: dynamiclink)
            }

        })
        return linkHandled!

    }

    return false

}
我不知道到底是什么问题。

对于深度链接,我希望它调用open url函数:

func application(_ app: UIApplication, open url: URL, options: [UIApplication.OpenURLOptionsKey : Any] = [:]) -> Bool

这对您不起作用吗?

这是一个老问题,但对于任何查看的人来说,这里缺少的组件是
应用程序站点关联
文件:

采取以下步骤将应用程序和网站关联为通用链接:

  • 将关联的域权限添加到您的应用程序。使用applinks服务前缀包括应用程序支持的所有域。请参阅添加关联的域权限
  • 将Apple应用程序站点关联文件添加到您的网站。请参阅添加苹果应用程序站点关联文件
  • 将applinks密钥添加到Apple应用程序站点关联文件。指定每个应用程序将处理的网站部分

  • 您已经完成了步骤1(和步骤0,即在应用程序中设置代码),但缺少步骤2和步骤3。

    我希望这对将来面临此问题的人有所帮助。我有同样的问题,我可以打开链接到我的网站使用ios应用程序,但无法登录。 后来我发现是“逃跑的人”?造成它的部分。 我改为:@escaping([UIUserActivityRestoring]?)并将其登录到Xcode控制台

    func application(_ application: UIApplication, continue userActivity: 
    NSUserActivity, restorationHandler: @escaping ([UIUserActivityRestoring]?) -> Void) -> Bool {
            print("Continue User Activity called: ")
            if userActivity.activityType == NSUserActivityTypeBrowsingWeb {
                let url = userActivity.webpageURL!
                print(url.absoluteString)
                //handle url and open whatever page you want to open.
            }
    
            return true
        }
    

    我喜欢这个网站,但它让我震惊的是,只有一个人回答,几乎可以肯定是正确的答案…得到了否决票?