Получение токена FCM с помощью специальной оболочки для Messaging iOSIOS

Программируем под IOS
Ответить
Anonymous
 Получение токена FCM с помощью специальной оболочки для Messaging iOS

Сообщение Anonymous »

Вообще-то в нашем проекте мы добавили класс-оболочку для Firebase Messaging
Он почти содержит только

Код: Выделить всё

final class MessagingWrapper {
private let messaging: Messaging

init() {
messaging = Messaging.messaging()
}

func configure() {
messaging.delegate = self
}
}

extension MessagingWrapper: MessagingDelegate {
func messaging(_ messaging: Messaging, didReceiveRegistrationToken fcmToken: String?) {
// handle received fcmToken...
}
}
Меня беспокоит то, что класс, настроенный таким образом (я несколько раз проверял, что мы настраиваем зависимости Firebase в правильном порядке, устанавливаем токен APNS и т. д.), на самом деле не работает. вообще вызвать функцию делегата.
но если мы изменим функцию configure на:

Код: Выделить всё

    func configure() {
Messaging.messaging().delegate = self
}

все начинает работать нормально...
Кто-нибудь знает, что происходит в библиотеках Firebase, что эта оболочка нарушает все решение? Действительно ли нам нужно всегда вызывать Messaging.messaging(), если мы хотим работать с обменом сообщениями?
Я пытался изучить документацию, но ничего толком не нашел (но я с таким же успехом можно быть полностью слепым). Я знаю, что могу это исправить, всегда используя Messaging.messaging(), но я просто хочу понять, ПОЧЕМУ я не могу хранить ссылку в нашей оболочке.

Подробнее здесь: https://stackoverflow.com/questions/784 ... saging-ios
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «IOS»