Конденсатор и Иони c родной статус-бар - PullRequest
0 голосов
/ 13 февраля 2020

Я создал приложение Ioni c 4 Capacitor. Он показывает это по умолчанию и без плагина Cordova.

пакет. json

   "@ionic-native/splash-screen": "^5.0.0",
   "@ionic-native/status-bar": "^5.0.0",

app.component.ts

 async initializeApp(): Promise<void> {
    await this.platform.ready();

    this.statusBar.styleDefault();
    this.splashScreen.hide();

  }

Но конденсатор c говорит, где он не совместим с ним . Нужно ли удалять этот родной плагин и использовать реализацию Capacitor, или, поскольку здесь нет Cordova, это не будет проблемой?

Ответы [ 2 ]

4 голосов
/ 13 февраля 2020

конденсатор заявляет, что он не совместим с плагином cordova, поскольку он поставляет свой собственный cordova-plugin-statusbar (не нужен, у конденсатора есть свой собственный) Поэтому я советую вам использовать тот от конденсатора.

Что-то похожее на это:

const { SplashScreen, StatusBar } = Plugins;
try {
  await SplashScreen.hide();
  await StatusBar.setStyle({ style: StatusBarStyle.Light });
} catch (err) {
  console.log('This does not have influence on the browser', err);
}
0 голосов
/ 13 февраля 2020

Мы работаем над обновлением шаблонов начальных приложений - вскоре они по умолчанию будут использовать API-интерфейсы Capacitor.

Я думаю, что эти два действительно работают с Cap, но, как писал Рикардо, мы рекомендуем используйте API-интерфейсы Capacitor.

Вот что я использую в одном из наших примеров приложений :

import { Component } from '@angular/core';
import { Plugins } from '@capacitor/core';
const { SplashScreen } = Plugins;

@Component({
  selector: 'app-root',
  templateUrl: 'app.component.html',
  styleUrls: ['app.component.scss']
})
export class AppComponent {
  constructor() {
    this.initializeApp();
  }

  initializeApp() {
    /* To make sure we provide the fastest app loading experience 
       for our users, hide the splash screen automatically 
       when the app is ready to be used:

        https://capacitor.ionicframework.com/docs/apis/splash-screen#hiding-the-splash-screen
    */
    SplashScreen.hide();
  }
}
...