Ios 在dynamicLink.handleuniversalink(url)的回调中接收到nil

Ios 在dynamicLink.handleuniversalink(url)的回调中接收到nil,ios,swift,xcode,firebase,deeplink,Ios,Swift,Xcode,Firebase,Deeplink,我正在接收firebase DynamicClinks。在App delegate的restorationHandler方法中,我调用了Firebase DynamicLinks的DynamicLinks.DynamicLinks().handleuniversalink(url)方法,以从shortlink获取实际链接。 但在这个方法的回调中,我在dynamiclink中收到了nil。因此,我无法从回调中收到的动态链接中获取url。谁能帮我弄清楚为什么它返回零 func application

我正在接收firebase DynamicClinks。在App delegate的restorationHandler方法中,我调用了Firebase DynamicLinks的DynamicLinks.DynamicLinks().handleuniversalink(url)方法,以从shortlink获取实际链接。 但在这个方法的回调中,我在dynamiclink中收到了nil。因此,我无法从回调中收到的动态链接中获取url。谁能帮我弄清楚为什么它返回零

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

        if let incomingURL = userActivity.webpageURL {
// it prints the passed url and working fine
            debugPrint("Imcoing Url is: \(incomingURL.absoluteString)")

            let linkHandled = DynamicLinks.dynamicLinks().handleUniversalLink(incomingURL) { (dynamicLink, error) in

                guard error == nil else {
                    debugPrint("Error Found: \(error!.localizedDescription)")
                    return
                }
//
//
                if let dynamiclink = dynamicLink, let _ = dynamiclink.url {
// but below function call is not called beacause dynamicLink coming in
// callback is nil
                    self.handleIncomingDynamicLink(dynamiclink)
                }
            }
            if linkHandled {
                return true
            } else {
                // do other stuff to incoming URL?
                return false
            }
        }

        return false
    }
我找到了一种方法来获取短url中的实际url或查询参数,在我的例子中,短url为零,因为我在完成处理程序中收到了
dynamiclink

DynamicLinks.dynamicLinks().handleUniversalLink(incomingURL) { (dynamicLink, error) in 
    //Both dynamicLink and error were nil here in my case 
}
零。为了从短url中获取实际url或查询参数,这些代码行将执行相同的操作

URLSession.shared.dataTask(with: incomingURL) { (data, response, error) in

            if let actualURL = response?.url {

                // you will get actual URL from short link here

                // e.g short url was  
                // https://sampleuniversallink.page.link/hcabcx2fdkfF5U

                // e.g actual url will be  
                // https://www.example.com/somePage?quertItemkey=quertItemvalue...
            }
        }.resume()

我也遇到了同样的问题,原因是我忘记将自定义url添加到我的info.plist中,如下所述:


我没有使用react native,但该解决方案也适用于常规的iOS实施。

查看下面的链接以找到解决方案。单击下面找到解决方案:该解决方案只返回桌面链接,而不返回针对移动设备的链接。