iOS не может получить push-уведомление от FCM по проекту Cordova (2018) - PullRequest
0 голосов
/ 10 октября 2018

Я несколько дней застрял с этой проблемой (снова!).Push-уведомление FCM прекрасно работает на Android и в моей текущей версии приложения в реальном времени / prd (все еще работает и работает хорошо).Но недавно я обновился до Cordova 7.1.0 , для платформы iOS 4.4.0 и повторно добавил все плагины для моего следующего обновления приложения.

Все работаетну кроме этого FCM на iOS !!!!Не работает для всех версий и всех устройств iOS.Раньше у меня была эта проблема, но это было легко исправить (отсутствовал файл GoogleService-Info.plist в плагине FCM).Но в настоящее время эта проблема появилась снова, и я действительно не знаю, как ее исправить.Прошел много вопросов и перепробовал много вещей.

Шаги, которые я сделал:

  1. Удалите и повторно добавьте плагин FCM, а также платформу iOS
  2. Проверьте и убедитесь, что файл не пуст для файлов GoogleService-Info.plist: Cordova-plugin-fcm> src> ios;ресурсы платформы> ios> [myproject]>;платформа> ios> [myproject]> resources> resources
  3. Проверка отправки push-уведомлений с консоли Firebase.Это говорит завершено и отправлено!но не получает на iOS (получено на Android)
  4. Включение, выключение и включение снова в возможностях Xcode: push-уведомления, а также фоновые режимы> удаленные уведомления и совместное использование цепочки для ключей
  5. Check [myproject] .entitlements> APS со значением Development есть
  6. Добавьте значение FirebaseAppDelegateProxyEnabled NO в info.plist
  7. Проверьте действительность моего ключа APNS и сертификата через: openssl s_client -connect gateway.push.apple.com:2195 -cert pushtry.pem -key pushtry.pem и верните код подтверждения 0(OK) в конце
  8. Попытка проверить APNS на http://pushtry.com, но с указанием Arvind APNS Ошибка подключения: 0 в результате.Когда я пытаюсь отправить push-уведомление FCM с того же веб-сайта, оно успешно отправляется (получено на Android, а не на iOS). Кто-нибудь знает, как правильно запустить этот процесс и каков должен быть результат?
  9. Проверьте все настройкипрофили и сертификаты и убедитесь, что они еще не истекли.И у меня есть Apple Push Service как для разработки, так и для производства.
  10. Дважды проверьте идентификатор комплекта и идентификатор приложения для соответствия настройкам консоли Firebase.

Я запускаю приложение изXcode 10 с несколькими iPhone от iOS 11 до 12. Все не могут получать push-уведомления.Но когда я загружаю свое приложение из магазина игр, оно все еще получает push-уведомление.версия плагина FCM: cordova-plugin-fcm 2.1.2 .

Пожалуйста, помогите!Что я должен сделать и проверить, кроме всех упомянутых выше?Мне нужно обновить приложение в ближайшее время.Но я боюсь после обновления, все живые версии с недавно обновленным приложением не будут получать push-уведомления, что очень важно для нашего приложения!

Я подозреваю несоответствие профиля обеспечения с подписью кодаидентичность, но я никогда не менял их уже 1 год + (обновляйте и обновляйте сертификат только после истечения срока его действия).Я не думаю, что это проблема от FCM, потому что он отправил push-уведомление и никаких проблем на Android.Но с другой стороны, последнее обновление моего приложения было два месяца назад.После этого я редко проверяю iPhone (особенно push-уведомления), потому что у меня его нет.Всегда делаю мой dev с телефоном Android.Так может я что-то упустил?Советы и решения, пожалуйста?

Все версии моего приложения в моей разработке (мой локальный MAC) сейчас не работают.Даже если я попытаюсь собрать и запустить старую версию моего приложения.Push-уведомления не принимаются.Так что, возможно, у меня проблема с Cordova или iOS.

1 Ответ

0 голосов
/ 31 октября 2018

У меня была та же проблема, и я решил ее, изменив систему сборки XCode:

Файл XCODE> Настройки проекта> (используйте устаревшую систему сборки вместо новой системы сборки.)

Также удалите FirebaseAppDelegateProxyEnabledиз info.plist

...