在
documentation中它说要将以下行添加到我的AppDelegate.swift:
// Set deepLinkURLScheme to the custom URL scheme you defined in your // Xcode project. FIROptions.default().deepLinkURLScheme = self.customURLScheme
根据我的理解,这应该是您在info.plist中添加的相同链接.但是,我很困惑为什么在quickstart-ios repo他们决定将其等同于“dlscheme”.
任何人都可以帮我理解这个方案究竟是什么?
解决方法
这在动态链接集成说明中并不清楚 – 即使我在
Branch.io整天处理这些事情,我也遇到了同样的问题(完全披露:我们是动态链接的替代/改进).
配置自定义URI方案时,需要提供标识符和URL方案. Apple建议对标识符使用反向域值,但由于您的包ID通常也是反向域格式,因此这两者通常最终完全相同.
默认情况下,Firebase希望您使用捆绑标识符作为自定义URI方案.执行此操作时,其默认配置将接管,您无需指定FIROptions.default().deepLinkURLScheme = self.customURLScheme行. URI方案配置最终看起来像这样,这有点违反直觉:
但是,如果您决定使用不是URL方案的包ID的值(非常常见),那么您需要FIROptions.default().deepLinkURLScheme = self.customURLScheme行.但是你之前还需要这个:让customURLScheme =“somethingelse”.您可以在快速入门中看到此here,以及在info.plist文件here中定义URI方案的位置.
基本上,Firebase团队试图通过假设捆绑ID作为自定义URI方案值来简化操作.这不是一个糟糕的选择,但它可能会让人感到困惑,正如您所看到的,即使是他们自己的quickstart项目也使用了更高级的配置.