Facebook iOS SDK 4.2:多个应用程序环境的无效 URL 方案

Facebook iOS SDK 4.2: Invalid URL Schemes for Multiple App Environments

我的 stagingproduction 构建需要使用相同的 Facebook 应用程序 ID。我已经在我的应用程序 .plist 文件中定义了 URL 方案后缀,并使用所需的 Bundle Id 和 URL 方案配置了仪表板,完全按照 sharing an app ID across Apps 文档。

仪表盘的URL方案后缀:

App-Info.plist:

问题是,我可以在我的 staging 版本上使用 Facebook 登录,但是当我尝试登录 production 版本时,它在以下位置崩溃并中断:

我尝试了一些几乎相似的解决方案,但 none 对我有用。有人能给我指出正确的方向吗?

解决了。事实证明,我每个scheme只能定义一个FB URL Scheme。我也忘了定义FacebookURLSchemeSuffix。所以,我所做的是,我使用用户定义的设置在 stagingproduction 构建之间交替。这是我的做法。

  1. 转到 Targets > Build Setttings 并添加 user-defined setting

然后,我将我的用户定义值 (FB_SCHEME) 设置为 staging 用于 staging 构建,反之亦然。

  1. 在我的 App-info.plist 文件中。我将 FacebookURLSchemeSuffixURL scheme 设置为以下内容:

现在,每当我在方案之间切换时,它会将 ${FB_SCHEME} 的值设置为 productionstaging。就是这样。