如何使用Facebook iOS SDKpipe理生产和开发凭证

症状

我的应用程序使用Facebook来让用户login。它在从XCode进行debugging和通过AdHoc部署进行testing时工作正常,为了让外部testing人员提交我们的应用程序供审阅,但似乎Facebook在OAuth进程中抱怨“应用程序不是安装程序:这个应用程序的开发人员还没有正确设置这个应用程序的Facebooklogin“。

假设

XCode中的目标info部分中的Custom iOS target properties中的FacebookDisplayNameFacebookAppId与Facebook应用程序开发版本相匹配。 不知何故,SDK必须检测到,在审查过程中,应用程序不再在开发中,并发生错误。

如何在这个目标中Custom iOS target properties一些具有不同releasedebug值的Custom iOS target properties

您可以在Target的设置中为每个scheme(Debug,Release,Ad-Hoc,AppStore等)添加一个用户定义的设置,并在info.plist文件中使用用户定义的variables(或者称为Custom iOS目标属性) 。

这里是我如何做一个应用程序的包标识符的例子。 我想要Debug和AdHoc版本的单独的包标识符和服务器URL,以便可以在同一个设备上安装和testing这两个包:

  1. 在“目标设置”中添加所需数据作为用户定义的设置。

  2. 为不同的scheme设置不同的值。 (确保检查目标设置反映了更改,而不仅仅是项目设置。):

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

在这里输入图像说明

为每个目标设置不同的值

  1. 在上图中,BUNDLE_ID_PREFIX和BUNDLE_ID_SUFFIX对于每个scheme具有不同的值。

  2. 在info.plist中使用这个variables而不是默认值: 在这里输入图像说明

您将默认使用debuggingscheme从xcode运行应用程序。 如果您使用发布scheme归档应用程序进行上传,它将自动从目标设置中选取正确的值。