Вызов проблемы isAvailable method @ ionic-native / email-composer - PullRequest
0 голосов
/ 28 октября 2019

Текущее поведение: Я установил компоненты составителя электронной почты в соответствии с ионной документацией, и функция isAvailable недоступна. Я прочитал различные документы по этой теме, но не могу найти способ заставить метод работать.

Остальная часть плагина отлично работает при отправке электронной почты на моем устройстве Android, поэтому плагин определенно установлен и работает.

Error: Uncaught (in promise): TypeError: EmailComposer.getPlugin(...).isAvailable is not a function

Ожидаемое поведение: Я ожидаю, что метод isAvailable вернет true или false.

Шаги для воспроизведения:

  1. $ ionic start myApp blank
  2. $ плагин ionic cordova add cordova-plugin-email-composer
  3. $ npm install @ ionic-native / email-composer

Код по теме:

import { Component } from '@angular/core';
import { EmailComposer } from '@ionic-native/email-composer/ngx';

@Component({
    selector: 'app-home',
    templateUrl: 'home.page.html',
    styleUrls: ['home.page.scss']
})
export class HomePage {
    constructor(private emailComposer: EmailComposer) {}

    public canEmail: boolean = false;

    ionViewDidEnter() {
        this.emailComposer.isAvailable().then((available: boolean) => {
            if (available) {
                this.canEmail = true;
            }
        });
    }    
}

Другая информация:

Ionic:                                                                                                               

   Ionic CLI                     : 5.4.2 (C:\Users\andy\AppData\Roaming\npm\node_modules\ionic)                      
   Ionic Framework               : @ionic/angular 4.11.3                                                             
   @angular-devkit/build-angular : 0.801.3                                                                           
   @angular-devkit/schematics    : 8.1.3                                                                             
   @angular/cli                  : 8.1.3                                                                             
   @ionic/angular-toolkit        : 2.0.0                                                                             

Cordova:                                                                                                             

   Cordova CLI       : 9.0.0 (cordova-lib@9.0.1)                                                                     
   Cordova Platforms : android 8.1.0                                                                                 
   Cordova Plugins   : cordova-plugin-ionic-keyboard 2.2.0, cordova-plugin-ionic-webview 4.1.3, (and 5 other plugins)

Utility:                                                                                                             

   cordova-res : not installed                                                                                       
   native-run  : 0.2.8                                                                                               

System:                                                                                                              

   Android SDK Tools : 26.1.1 (c:\Android\Sdk)                                                                       
   NodeJS            : v10.15.2 (C:\Program Files\nodejs\node.exe)                                                   
   npm               : 6.4.1                                                                                         
   OS                : Windows 10                                                                                    

1 Ответ

0 голосов
/ 01 ноября 2019

На всякий случай, если это кому-нибудь еще поможет.

После нескольких дней исследований я пришел к выводу, что cordova-plugin-email-composer не соответствует нативной библиотеке Ionic. Я попытался решить проблему самостоятельно, и моя @ionic-native вилка доступна здесь @ ionic-native конкретный файл, который я изменил, находится здесь src\@ionic-native\plugins\email-composer.index.ts.

Я создалзапрос pull в главном репозитории ionic-native, но это моя первая попытка любого рода внести свой вклад в подобный проект, поэтому не уверен в результате!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...