Ionic 3 - ошибка Native AppPrefences plugin_not_installed

Это свело меня с ума. Поэтому я создал специальный проект для этого и вот что я сделал.

создание пустого ионного проекта. вот вывод консоли

[DEBUG] Reason for not using local CLI: BASE_DIRECTORY_NOT_FOUND
[DEBUG] CLI flags: { interactive: true, confirm: false }
[DEBUG] { cwd: 'E:\\Project\\Ionic', local: false, binPath:
        'C:\\Users\\yandi\\AppData\\Roaming\\npm\\node_modules\\ionic\\bin\\ionic', libPath:
        'C:\\Users\\yandi\\AppData\\Roaming\\npm\\node_modules\\ionic\\dist\\index.js' }
[DEBUG] Daemon found (pid: 11712)

? What starter would you like to use: blank
√ Creating directory .\AppPreferences - done!
√ Downloading and extracting blank starter - done!

? Would you like to integrate your new app with Cordova to target native iOS and Android? Yes
√ Personalizing ionic.config.json and package.json - done!
> ionic integrations enable cordova --quiet
√ Downloading integration cordova - done!
[DEBUG] Integration files downloaded to C:\Users\yandi\AppData\Local\Temp\ionic-integration-cordova (files: config.xml,
        resources)
[DEBUG] Blacklist:
√ Copying integrations files to project - done!
[OK] Added cordova integration!

Installing dependencies may take several minutes.

> npm i
√ Running command - done!

получение необходимого плагина Cordova. Консольный вывод

√ Creating .\www directory for you - done!
> cordova plugin add cordova-plugin-app-preferences --save
Adding cordova-plugin-app-preferences to package.json

Saved plugin info for "cordova-plugin-app-preferences" to config.xml

получение необходимых пакетов npm. Консольный вывод

npm WARN optional SKIPPING OPTIONAL DEPENDENCY: [email protected] (node_modules\fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for [email protected]: wanted {"os":"darwin","arch":"any"} (current: {"os":"win32","arch":"x64"})

+ @ionic-native/[email protected]
added 1 package in 26.305s

добавление плагинов в мой app.module

import { BrowserModule } from '@angular/platform-browser';
import { ErrorHandler, NgModule } from '@angular/core';
import { IonicApp, IonicErrorHandler, IonicModule } from 'ionic-angular';
import { SplashScreen } from '@ionic-native/splash-screen';
import { StatusBar } from '@ionic-native/status-bar';

import { MyApp } from './app.component';
import { HomePage } from '../pages/home/home';

import { AppPreferences } from '@ionic-native/app-preferences';

@NgModule({
  declarations: [
    MyApp,
    HomePage
  ],
  imports: [
    BrowserModule,
    IonicModule.forRoot(MyApp)
  ],
  bootstrap: [IonicApp],
  entryComponents: [
    MyApp,
    HomePage
  ],
  providers: [
    StatusBar,
    SplashScreen,
    AppPreferences,
    {provide: ErrorHandler, useClass: IonicErrorHandler}
  ]
})
export class AppModule {}

а вот и моя страница.ts

import { Component } from '@angular/core';
import { NavController, Platform } from 'ionic-angular';

import { AppPreferences } from '@ionic-native/app-preferences';

@Component({
  selector: 'page-home',
  templateUrl: 'home.html'
})
export class HomePage {

  constructor(public navCtrl: NavController, public appPreferences: AppPreferences, public platform: Platform) {}

  checkPref(){
    this.platform.ready().then((success) => {
      this.appPreferences.show().then((success) => {
        alert(success);
      }, (fail) => {
        alert(fail);
      });
    }, (fails) => {
      console.log(fails);
    });
  }

}

страница.html

<ion-content padding>
  <button ion-button (click)="checkPref()">Check Plugin</button>
</ion-content>

когда нажимаю, пишет "plugin_not_installed"

так что я сделал не так? Это действительно расстраивает меня. Я выяснил все в своем приложении, и это последнее, что мне нужно

**Обновлено: я обслуживаю его на своем телефоне (Xiaomi Mi 4i) с помощью приложения Ionic Dev.


person Yandi Banyu Karima Waly    schedule 24.04.2018    source источник
comment
как у тебя работает приложение? устройство/эмулятор?   -  person Suraj Rao    schedule 24.04.2018
comment
Если это нативный плагин, это один из тех, которые нужно запускать на эмуляторе или на реальном устройстве? У меня такое случалось несколько раз с ними.   -  person Indy-Jones    schedule 24.04.2018
comment
Я запускаю его на своем телефоне с помощью приложения Ionic Dev (Xiaomi Mi 4i). Или мне нужно сначала построить его?   -  person Yandi Banyu Karima Waly    schedule 24.04.2018
comment
cordova-plugin-app-preferences не поддерживается Ionic DevApp вам нужно собрать его как apk и запустить как настоящее приложение. Полный список поддерживаемых подключаемых модулей: ionicframework.com/docs/pro/devapp.   -  person Ivar Reukers    schedule 24.04.2018
comment
@Ivaro18 хорошо, приятно это знать. Спасибо за помощь!   -  person Yandi Banyu Karima Waly    schedule 24.04.2018
comment
@Ivaro18 Могу ли я предложить вам добавить это в качестве ответа, чтобы я мог его принять?   -  person Yandi Banyu Karima Waly    schedule 24.04.2018
comment
Нет проблем, хотя на мой ответ повлияли первые два комментария, поэтому я не хочу лишать их доверия.   -  person Ivar Reukers    schedule 24.04.2018
comment
Это может быть полезно другим людям: stackoverflow.com/a/50270455/813951   -  person Mister Smith    schedule 10.05.2018


Ответы (1)


cordova-plugin-app-preferences не поддерживается Ionic DevApp.

Поэтому вам нужно собрать его как apk и запустить как настоящее приложение.

Полный список поддерживаемых подключаемых модулей см. в документации Ionic DevApp

person Ivar Reukers    schedule 24.04.2018