我有3个不同的Firebase项目,这些项目在单个应用程序中初始化。第一个应用程序使用默认的GoogleService-info.plist
文件进行初始化。
前两个项目包含Firebase iOS应用,其应用程序与bundle id
相同。第三个项目包含一个具有任意bundle id
的iOS应用程序。
我开发了一个SDK,它使用Firebase提供推送通知服务和实用程序静默推送功能。我在这里描述的用例是客户端应用程序有自己的Firebase项目,SDK有一个客户端专用项目,另一个“Master”Firebase项目用作实用程序 - 跨客户端Firebase项目。
虽然FCM可以通过前两个项目(具有相同bundle id
的项目)访问该应用,但由于invalid-apns-credentials
错误,它无法通过第三个项目(跨客户端项目)访问该应用。请注意,我使用fcmToken
正确生成Messaging.messaging().retrieveFCMToken(forSenderID::)
,并且在所有3个项目中都使用相同的 APNs身份验证密钥。
我尝试通过向第三个项目添加新的Firebase app
来解决此问题,并使用与应用程序相同的bundle id
,这使我能够访问该应用程序。但是,即使我从第3个项目中移除了Firebase iOS应用程序(具有相同bundle id
而不是“任意”项目的应用程序),我仍然能够访问客户端应用程序。