在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”。
有人可以帮我理解这个方案到底是什么吗?
答案 0 :(得分:13)
动态链接集成说明中并不清楚 - 我遇到了同样的问题,即使我整天都在Branch.io处理这些事情(完全披露:我们是另类/改进动态链接)。
配置自定义URI方案时,您需要同时提供标识符和 URL方案。 Apple建议对标识符使用反向域值,但由于您的包ID通常也是反向域格式,因此这两者通常最终完全相同。
默认情况下,Firebase希望您将捆绑包标识符用作自定义URI方案。执行此操作时,其默认配置将接管,您根本不需要指定FIROptions.default().deepLinkURLScheme = self.customURLScheme
行。 URI方案配置最终看起来像这样,这有点违反直觉:
但是,如果您决定使用不的值作为URL方案的包ID(非常常见),那么您需要FIROptions.default().deepLinkURLScheme = self.customURLScheme
行。但是你也需要这个:let customURLScheme = "somethingelse"
。您可以在快速入门中看到此here,也可以在info.plist
文件here中定义URI方案。
基本上,Firebase团队试图通过假设捆绑ID作为自定义URI方案值来简化操作。这不是错误选项,但它可能令人困惑,正如您所看到的,即使他们自己的quickstart项目使用更高级的配置。