У меня есть ионное приложение, которое прекрасно работает как на Android, так и на iOS, в симуляторе и на реальных устройствах.
Я интегрировал API OneSignal для добавления уведомлений в свое приложение.
На андроиде все работает нормально, но проблема проявляется при запуске на устройстве iOS.
Вот шаги, которые я использую для запуска проекта на iOS:
- Добавьте платформу iOS с помощью команды ionic cordova platform add ios
- Создайте источник ионного приложения для генерации проекта XCode с помощью команды ionic cordova build ios --prod
или ionic cordova build ios
- Открыть сгенерированный проект в Xcode
- Назначить команду на проект
- Добавить push-уведомление в проект из вкладки «Возможности»
- Добавить удаленное уведомление в фоновом режиме
- Создайте сертификаты .cer и .p12
- Добавьте их в проект OneSignal на панели инструментов OneSignal.
- запустить проект
После этого, когда я собираю приложение из Xcode на устройство iOS (подключенное к моему mac через кабель), появляется всплывающее окно с разрешением уведомлений, я принимаю его, и уведомления приходят, когда я отправляю их с панели управления OneSignal.
Но когда я снова пытаюсь запустить приложение (с устройством iOS, не подключенным к Mac), оно не работает, заставка продолжает загружаться бесконечно.
Я заметил еще одну вещь, что при сборке с флагом --prod
приложение не работает ни при подключении к mac, ни при отсутствии. Но без этого флага он работает только при запуске из Xcode, как я уже говорил.
Я почти уверен, что это из-за API OneSignal, поскольку без него все работает нормально при подключении к Mac или нет.
Версия OneSignal: ^ 2.4.2
Версия iOS: 10.3.3
Ионная информация:
Ionic:
ionic (Ionic CLI) : 4.0.6 (/usr/local/lib/node_modules/ionic)
Ionic Framework : ionic-angular 3.9.2
@ionic/app-scripts : 3.1.9
Cordova:
cordova (Cordova CLI) : 8.0.0
Cordova Platforms : ios 4.5.5
System:
ios-deploy : 2.0.0
NodeJS : v8.10.0 (/usr/local/bin/node)
npm : 5.6.0
OS : macOS High Sierra
Xcode : Xcode 9.3 Build version 9E145
Environment:
ANDROID_HOME : not set