iOS 的开发和生产应用程序(使用 Facebook SDK)

Dev and Production apps for iOS (with Facebook SDK)

我正在构建一个使用 Facebook SDK 的应用程序。由于它已经投入生产,我想在我的设备上安装两个版本(App Store 版本和开发版本)。

我按照这个 instructions 成功安装了两个版本的应用程序,但是当尝试使用 Facebook 登录时我遇到了问题,因为开发版本 bundleID (com.company.app.dev) 与在我的 Facebook 应用程序上注册了一个 (com.company.app)。

This guide 显示如何在应用程序之间共享相同的 facebook appID。该指南让我很困惑。我注册了两个 bundle ids(com.company.app.dev 和 com.company.app)和一个 URL 方案后缀(dev),并修改了 mi App.plist 文件以包含 FacebookUrlSchemeSuffix 键.

这让我陷入了另一个问题,当我登录生产应用程序时,回调正在打开开发应用程序,因为两个应用程序都注册了相同的 URL 回调(fbxxxx 和 fbxxxxdev,其中 xxxx 是我的Facebook 应用 ID)。

我解决了它注册一个用户定义的构建设置,在构建模式而不是发布模式下添加 FacebookUrlSchemeSuffix,并且还修改了 URL 中的方案 App.plist文件以在相同的情况下附加后缀。

但是这个解决方案似乎有点老套,因为它现在遵循 Facebook 指南。对此有更好的解决方案吗?我想我没有正确遵循 Facebook 指南。

你做的很好。您应该在您的生产应用程序中将 fbxxxx 注册为方案,并在您的开发应用程序中注册 fbxxxxdev,并在您的开发应用程序中添加后缀。