ионная сборка ios выдает ошибку при работе на ios

#ios #cordova #ionic-framework #ionic3

#iOS #кордова #ионный фреймворк #ionic3

Вопрос:

Я работал над приложением ionic версии 3, я хочу опубликовать его в Apple Store, я успешно его создаю, но когда отправляю его на проверку, приложение отклоняется, потому что

Мы обнаружили одну или несколько ошибок в вашем приложении при проверке на iPad под управлением iOS 13.7 по Wi-Fi.Ваше приложение запускается и показывает неотвечающий белый экран без другого содержимого.

затем я запускаю новый проект ionic 3 и столкнулся с той же проблемой. Я пытался выполнить сборку с использованием Cordova ios v6 и v5, но у меня та же проблема. Я собираю ее с помощью этих команд

 ionic cordova platform add ios
ionic cordova run ios --prod -l --external --emulator --consolelogs --target="C62C1D15-1BDF-433C-BD72-2D9957C5F0F7"
  

когда я запускаю ее на эмуляторе iPhone, она работает хорошо, но на iPad возникают следующие проблемы

 [app-scripts] [00:02:36]  console.warn: Ionic Native: tried calling StatusBar.styleDefault, but Cordova is not available. Make sure to 
[app-scripts]             a) run in a real device or simulator and b) include cordova.js in your index.html 
[app-scripts] [00:02:36]  console.warn: Ionic Native: tried calling SplashScreen.hide, but Cordova is not available. Make sure to a) 
[app-scripts]             run in a real device or simulator and b) include cordova.js in your index.html
  

использование

cordova v10.0.0

ionic cli v6.11.0

Комментарии:

1. Можете ли вы поделиться фрагментом, в котором вы выполняете стиль строки состояния и скрытие заставки

Ответ №1:

Плагины используют собственный код платформы. Для выполнения этого кода они полагаются на Cordova. Сообщение об ошибке «Cordova недоступен» выдается, когда код плагина выполняется до загрузки cordova.

Вы должны убедиться, что весь связанный с плагином код выполняется только после их загрузки. Вы можете сделать это, подписавшись на событие platform ready и выполнив код плагина только после его запуска. Примером этого может быть импорт { Платформа } из ‘ionic-angular’;

 @Component({...})
export MyApp {
  constructor(public plt: Platform) {
    this.plt.ready().then((readySource) => {
      console.log('Platform ready from', readySource);
      // Platform now ready, execute any required native code
    });
  }
}