Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/116.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
iOS 14 Firebase动态链接问题_Ios_Swift_Firebase_Swiftui_Firebase Dynamic Links - Fatal编程技术网

iOS 14 Firebase动态链接问题

iOS 14 Firebase动态链接问题,ios,swift,firebase,swiftui,firebase-dynamic-links,Ios,Swift,Firebase,Swiftui,Firebase Dynamic Links,在使用SwiftUI的iOS 14上,我目前正在尝试在用户单击链接并安装应用程序,然后打开它并从该链接接收信息的情况下测试动态链接。我遵循了本文()中的建议,并在Firebase iOS网站上实现了所有AppDelegate函数 但是,当我打开链接,安装应用程序,然后第一次打开应用程序时(它只是说“从Safari粘贴”),不会调用任何东西。唯一有效的方法是在应用程序已安装时单击动态链接(它会打开应用程序并正确调用url侦听器函数) 这是生成链接的代码: let dynamicLink = URL

在使用SwiftUI的iOS 14上,我目前正在尝试在用户单击链接并安装应用程序,然后打开它并从该链接接收信息的情况下测试动态链接。我遵循了本文()中的建议,并在Firebase iOS网站上实现了所有AppDelegate函数

但是,当我打开链接,安装应用程序,然后第一次打开应用程序时(它只是说“从Safari粘贴”),不会调用任何东西。唯一有效的方法是在应用程序已安装时单击动态链接(它会打开应用程序并正确调用url侦听器函数)

这是生成链接的代码:

let dynamicLink = URL(string: "http://www.mydomainishereIjustremovedit.com/?referrer=\(referrerID)")!
        
        //guard let uid = Auth.auth().currentUser?.uid else { return }
        if let referralLink = DynamicLinkComponents(link: dynamicLink, domainURIPrefix: "https://penciltestapp.page.link") {
            referralLink.iOSParameters = DynamicLinkIOSParameters(bundleID: "com.penciltestapp.penciltestapp")
            //referralLink.iOSParameters?.minimumAppVersion = "1.0"
            referralLink.iOSParameters?.appStoreID = "962194608" // Opens up a random app on the app store. Just click this to open the app store, and then install your app from XCode
            
            referralLink.shorten { (shortURL, warnings, error) in
                if let error = error {
                    print(error.localizedDescription)
                    return
                }
                self.inviteURL = shortURL
            }
        }

别忘了实现这个,我的案例中没有这个

func application(_ app: UIApplication, open url: URL, options: [UIApplication.OpenURLOptionsKey : Any]) -> Bool {
  return application(app, open: url,
                     sourceApplication: options[UIApplication.OpenURLOptionsKey.sourceApplication] as? String,
                     annotation: "")
}

别忘了实现这个,我的案例中没有这个

func application(_ app: UIApplication, open url: URL, options: [UIApplication.OpenURLOptionsKey : Any]) -> Bool {
  return application(app, open: url,
                     sourceApplication: options[UIApplication.OpenURLOptionsKey.sourceApplication] as? String,
                     annotation: "")
}

你能在你的应用中添加动态链接的代码吗?听起来你好像没有设置回退URL(例如,如果设备上没有安装应用程序,你需要指定要打开的内容(通常是指向应用商店或网站的链接).谢谢你的回复,尼克。我已经添加了代码。该链接正在使应用程序商店正确打开-只是当我安装并打开应用程序时,上面写着“从Safari粘贴”但它不会调用url侦听器方法。我在AppDelegate中实现了覆盖方法,这些方法在应用程序已经安装时正确调用,但在应用程序安装并首次打开时不会正确调用“…链接正在使应用程序商店正确打开-只是当我安装并打开应用程序时…”如果你的应用程序不在应用商店中,你如何下载和安装该版本?我遵循()中的建议,该建议提供了一种解决方法:单击链接(打开应用商店),然后通过XCode将该应用程序新安装到你的iPhone上。当我这样做时,“粘贴自Safari”“我的屏幕上会弹出警报,但没有调用AppDelegate url侦听器函数。您是否可以在应用程序中添加创建动态链接的代码?听起来您好像没有设置回退url(即,如果设备上没有安装应用程序,您需要指定要打开的内容(通常是指向应用商店或网站的链接).谢谢你的回复,尼克。我已经添加了代码。该链接正在使应用程序商店正确打开-只是当我安装并打开应用程序时,上面写着“从Safari粘贴”但它不会调用url侦听器方法。我在AppDelegate中实现了覆盖方法,这些方法在应用程序已经安装时正确调用,但在应用程序安装并首次打开时不会正确调用“…链接正在使应用程序商店正确打开-只是当我安装并打开应用程序时…”如果你的应用程序不在应用商店中,你如何下载和安装该版本?我遵循()中的建议,该建议提供了一种解决方法:单击链接(打开应用商店),然后通过XCode将该应用程序新安装到你的iPhone上。当我这样做时,“粘贴自Safari”我的屏幕上会弹出警报,但不会调用AppDelegate url侦听器函数