m17*_*179 6 ios firebase appdelegate swift firebase-dynamic-links
我正在使用 Firebase 的深层链接来尝试在用户点击发送给他们的链接时在我的应用程序中提供特定功能。深层链接已在 Firebase 门户网站上正确设置。
单击发送给用户的链接确实会打开我的应用程序,但不会触发continue userActivity我的应用程序委托中的方法,因为其中包含的代码都没有被执行。
我已经尝试了此 StackOverflow 帖子中建议的解决方案,但没有成功,即将方法声明中的 [UIUserActivityRestoring] 切换为 [Any]。
在 Xcode 中,我设置了关联的域以匹配我在 Firebase 上设置的内容applinks:myappname.page.link:我添加了一个带有标识符“Bundle ID”的“URL 类型”,以及ca.mycompany.myappname带有角色编辑器的 URL 方案。
当然,所有这些都在设备上运行,因为我不希望这在模拟器中起作用。
这是我的应用程序委托中应该调用的方法,但实际上没有。
func application(_ application: UIApplication, continue userActivity: NSUserActivity, restorationHandler: @escaping ([Any]?) -> Void) -> Bool {
print ("The link worked")
}
Run Code Online (Sandbox Code Playgroud)
我也确保didFinishLaunchingWithOptions始终返回 true。
我希望“链接有效”实际打印在调试控制台中,但事实并非如此。断点表明该方法根本没有被调用,因为永远不会到达断点。
对于任何需要它的人:
您需要使用下面的代码来处理从链接到已安装的应用程序的深层链接(其他功能应用程序用于不同的事情)
func application(_ application: UIApplication, continue userActivity: NSUserActivity,
restorationHandler: @escaping ([UIUserActivityRestoring]?) -> Void) -> Bool {
let handled = DynamicLinks.dynamicLinks().handleUniversalLink(userActivity.webpageURL!) { (dynamiclink, error) in
// ...
}
return handled
}
https://firebase.google.com/docs/dynamic-links/ios/receive #6
| 归档时间: |
|
| 查看次数: |
1927 次 |
| 最近记录: |