【发布时间】:2019-07-31 12:37:04
【问题描述】:
当用户点击发送给他们的链接时,我正在使用 Firebase 的深层链接尝试在我的应用中提供特定功能。深层链接已在 Firebase 门户网站上正确设置。
单击发送给用户的链接会打开我的应用程序,但不会触发我的应用程序委托中的continue userActivity 方法,因为其中包含的代码都没有被执行。
我尝试了this StackOverflow post 中建议的解决方案,但没有成功,即在方法声明中将 [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")
}
我确保 didFinishLaunchingWithOptions 也总是返回 true。
我希望“链接有效”能够在调试控制台中实际打印,但事实并非如此。断点表明该方法根本没有被调用,因为断点永远不会到达。
【问题讨论】:
-
你能检查一下你是否在链接点击应用程序上调用了这个方法:openURL:options: ??还有你点击的链接是什么?
-
@m1sh0 ,我点击的链接是 myappname.page.link 后跟应该指示我的应用程序执行操作的链接部分,这将打开我的应用程序。我没有那个方法,但是在我的应用程序中实现它时,当我单击 URL 时也不会调用它...
-
你发现了吗?我也有同样的问题...
标签: ios swift firebase appdelegate firebase-dynamic-links