ios - 如何使用 Facebook iOS SDK 管理生产和开发凭证

标签 ios xcode facebook-ios-sdk

症状

我的应用程序正在使用 Facebook 让用户登录。它在从 XCode 调试和通过 AdHoc 部署进行测试时工作正常,为了让外部测试人员提交我们的应用程序进行审查,但似乎 Facebook 在 OAuth 过程中提示“应用程序不是设置:此应用程序的开发人员尚未正确设置此应用程序以进行 Facebook 登录”。

假设
FacebookDisplayNameFacebookAppId出现在 Custom iOS target propertiesinfo我在 XCode 中的目标部分与 Facebook 应用程序开发版本匹配。不知何故,SDK 必须在审查期间检测到应用程序不再处于开发状态并发生错误。

问题

我如何在该目标中定义一些 Custom iOS target properties与不同releasedebug值(value)观?

最佳答案

您可以在 Target 的设置中添加用户定义的设置,为每个方案(Debug、Release、Ad-Hoc、AppStore 等)添加不同的值,并在 info.plist 文件中使用用户定义的变量(或者您称之为自定义 iOS 目标属性) .

这是我如何为应用程序包标识符执行此操作的示例。我想要 Debug 和 AdHoc 版本的单独包标识符和服务器 URL,以便可以在同一设备上安装和测试两者:

  • 在目标设置中添加所需数据作为用户定义的设置。
  • 为不同的方案设置不同的变量值。 (确保检查目标设置是否反射(reflect)了更改,而不仅仅是项目设置。):

  • 编辑:添加用户定义设置的详细图像:

    enter image description here

    Set different values for each target
  • 在上图中,BUNDLE_ID_PREFIX 和 BUNDLE_ID_SUFFIX 对于每个方案都有不同的值。
  • 在 info.plist 中使用此变量而不是默认值:
    enter image description here

  • 默认情况下,您将使用调试方案从 xcode 运行应用程序。如果您使用发布方案来归档应用程序以供上传,它将自动从目标设置中获取正确的值。

    关于ios - 如何使用 Facebook iOS SDK 管理生产和开发凭证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29348505/

    相关文章:

    ios - 从 UIFont 或 CGFont 获取元信息 - iOS、Swift

    ios - Xcode 11 : How to stack editor vertically?

    ios - 导航 Controller (按下按钮 "back"时如何释放内存)

    swift - 登入取消

    ios - 运行 NSTimer 但不更新 UILabel 的 UIBackgroundTaskIdentifier - iOS

    ios - UITableViewCell 自定义 subview

    iOS 分发 "Unable to process application Info.plist"

    ios - 在连续启动中打开 FBSession(FB SDK for SDK 3.0)

    objective-c - FBSDKCoreKit 的 Facebook iOS8 SDK 构建模块错误

    ios - maskToBounds 与 ClipsToBounds