При попытке интегрировать Firebase Phone Auth в приложение iOS я получаю следующее сообщение об ошибке:
Если переключение делегата приложения отключено, удаленные уведомления, полученные UIApplicationDelegate, должны быть направлены в FIRAuth canHandleNotificaton: метод.
Но согласно https://firebase.google.com/docs/auth/ios/phone-auth.
Это необходимо сделать только в том случае, если отключено переключение делегатов приложения. Там также сказано:
Если вы предпочитаете не использовать Swizzling, вы можете отключить его, добавив флаг FirebaseAppDelegateProxyEnabled
в файл Info.plist
вашего приложения и установив для него NO
.
В моем проекте для FirebaseAppDelegateProxyEnabled не установлено значение NO. Итак, почему это сообщение появилось?
Также, согласно той ссылке Firebase,
Auth.auth().setAPNSToken...
не требуется. Но никакое SMS не отправляется без ручной настройки.
Теперь ... когда я устанавливаю это вручную как:
Auth.auth().setAPNSToken(deviceToken, type: .prod)
для моей сборки выпуска, тогда будет ошибка 'несоответствие токена'. Что заставило меня использовать:
Auth.auth().setAPNSToken(deviceToken, type: .unknown)
Все это должно быть ненужным, потому что я не отключил приложение swizzling ... но ...
Итак, что на самом деле происходит?