У меня есть 3 разных проекта Firebase, которые инициализируются в одном приложении.Первое приложение инициализируется с использованием файла GoogleService-info.plist
по умолчанию.
Первые два проекта содержат приложение Firebase для iOS с тем же bundle id
, что и приложение.Третий проект содержит приложение для iOS с произвольным bundle id
.
. Я разрабатываю SDK, использующий Firebase для предоставления службы push-уведомлений, и утилиту тихого push-уведомления.Описанный здесь случай использования - это случай, когда клиентское приложение имеет собственный проект Firebase, SDK имеет выделенный клиентский проект, а другой проект «Master» Firebase используется в качестве проекта Firebase для кросс-клиентской утилиты.
В то время как FCM может получить доступ к приложению через первые два проекта (те, которые имеют одинаковый bundle id
), он не может получить доступ к приложению через третий (кросс-клиентский) из-за ошибки invalid-apns-credentials
.Обратите внимание, что я сгенерировал fcmToken
правильно, используя Messaging.messaging().retrieveFCMToken(forSenderID::)
, и что один и тот же ключ доступа APNs используется во всех 3 проектах.
Я попытался решить его, добавив новый Firebase app
к третьему проекту с тем же bundle id
, что и приложение, и который позволил мне получить доступ к приложению.Тем не менее, я все еще смог получить доступ к клиентскому приложению даже после удаления iOS-приложения Firebase из 3-го проекта (с тем же bundle id
, а не с «произвольным»)