无法在同一Firebase项目上为第二个应用添加推送证书

时间:2016-08-26 14:47:59

标签: ios firebase apple-push-notifications firebase-cloud-messaging

我已经为两个iOS应用程序Client和Hairdresser应用程序启动了Firebase Cloud Messaging实现。

在Xcode术语中,我有一个项目有两个目标,一个用于客户端,另一个用于Hairdresser应用程序,每个目标都有两个不同的Bundle ID。 对于iOS开发者控制台,我还要为启用了推送通知的每个Bundle ID提供App Id。对于每个应用程序,我已将证书导出为.p12文件。

我创建了一个firebase项目,在那里我添加了两个iOS应用程序,带有理发器Bundle ID的Hairdresser应用程序,以及另一个带有客户端Bundle ID的客户端应用程序

问题:

  • 假设我先创建了美发师应用程序,并且我添加了Hairdresser p.12文件,一切正常,证书被接受了。如果我将在Hairdresser应用程序之后创建客户端应用程序,并将尝试添加客户端.p12证书,我将收到错误:“证书中指定的组ID与您输入的组ID不匹配。” 如果我将删除这两个应用程序,现在我将创建客户端应用程序,在此之后,理发师应用程序,现在为理发师添加.p12证书是不可能的。

其他问题:

  • 在同一个Xcode项目中,我有两个应用程序(两个目标)。我是否可以将Firebase Cloud Messaging配置文件添加到单独的文件夹(非root用户)中,将一个.plist文件添加到一个应用程序(目标)中。这会有用吗?如果不是,我如何为每个目标指明要使用的配置文件?

1 个答案:

答案 0 :(得分:2)

最后我也能够设置第二个应用程序。 Firebase集成的iOS指南说我们需要将私钥从Keychain中的推送证书导出为.P12文件。这适用于首次添加的应用程序,但不适用于第二个。我已经尝试了另一种方法来生成.P12文件。直接从Keychain(而非私钥)导出Apple推送证书会提供Firebase控制台接受的证书。我不明白为什么指南方法不起作用......但至少你会知道这一点。

此外,我们可以将Firebase云消息传递配置文件添加到单独的文件夹(非root用户),一个.plist文件用于一个应用程序(目标),第二个用于第二个应用程序。