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

Posted

技术标签:

【中文标题】适用于 iOS 的开发和生产应用程序(使用 Facebook SDK)【英文标题】:Dev and Production apps for iOS (with Facebook SDK) 【发布时间】:2015-02-09 19:54:09 【问题描述】:

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

我关注了instructions 并成功安装了该应用的两个版本,但是在尝试使用 Facebook 登录时出现问题,因为开发版本的 bundleID (com.company.app.dev) 与注册的不匹配在我的 Facebook 应用 (com.company.app) 上。

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

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

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

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

【问题讨论】:

【参考方案1】:

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

【讨论】:

以上是关于适用于 iOS 的开发和生产应用程序(使用 Facebook SDK)的主要内容,如果未能解决你的问题,请参考以下文章

Pushsharp 推送通知仅适用于沙盒,不适用于生产

用于生产的 iOS 推送通知

Apple 推送通知仅适用于开发,不适用于生产

适用于 Android 和 iOS 的跨平台开发

registerForRemoteNotifications 仅适用于安装了 iOS 7 的 iPhone

使用 cordova-plugin-fcm 插件推送通知在 iOS 生产中不起作用