Ioni c Email Composer Плагин не работает для iOS 13+, возможный обходной путь? - PullRequest
0 голосов
/ 07 февраля 2020

Я использую Ioni c E-mail Composer Плагин для Cordova. Можно найти здесь: https://ionicframework.com/docs/native/email-composer

Дело в том, что у меня все отлично работает на Android. Вы можете открывать электронные письма и отправлять и все это отлично. Однако, когда дело доходит до iOS, тот же метод не работает. Ниже приведен код, который я использовал с первой попытки:

this.emailComposer.isAvailable().then(available => {
                if (available) {
                    //Now we know we can send
                    this.emailComposer.open({
                        to: 'email@gmail.com',
                        subject: 'Reporting User ' + uid,
                        body: 'Message: ' + message + '/n/r' + 'Reason For Reporting: '
                    });
                }
            });

Как указывалось ранее, это прекрасно работает на Android. С iOS однако это не сработало. Поэтому я попробовал другой способ, запросив у пользователя разрешение на iOS и затем открыв письмо таким образом:

if (this.platform.is('android')) {
            this.emailComposer.isAvailable().then(available => {
                if (available) {
                    //Now we know we can send
                    this.emailComposer.open({
                        to: 'email@gmail.com',
                        subject: 'Reporting User ' + uid,
                        body: 'Message: ' + message + '/n/r' + 'Reason For Reporting: '
                    });
                }
            });
        } else {
            this.emailComposer.requestPermission().then(perm => {
                if (perm) {
                    this.emailComposer.open({
                        to: 'email@gmail.com',
                        subject: 'Reporting User ' + uid,
                        body: 'Message: ' + message + '/n/r' + 'Reason For Reporting: '
                    });
                }
            });            
        } 

Опять же, Android не имеет проблем с открытием электронных писем. Но с iOS он даже не запрашивает у пользователя разрешения. Есть ли простой способ заставить это работать на iOS? Технические характеристики:

Ionic:

   Ionic CLI                     : 5.4.2 (/usr/local/lib/node_modules/ionic)
   Ionic Framework               : @ionic/angular 4.11.10
   @angular-devkit/build-angular : 0.803.25
   @angular-devkit/schematics    : 8.1.3
   @angular/cli                  : 8.1.3
   @ionic/angular-toolkit        : 2.0.0

Capacitor:

   Capacitor CLI   : 1.2.1
   @capacitor/core : 1.2.1

Cordova:

   Cordova CLI       : 9.0.0 (cordova-lib@9.0.1)
   Cordova Platforms : ios 5.1.1
   Cordova Plugins   : cordova-plugin-ionic-keyboard 2.2.0, cordova-plugin-ionic-webview 4.1.3, (and 15 other plugins)

Utility:

   cordova-res : 0.9.0
   native-run  : not installed

System:

   ios-sim           : 8.0.2
   NodeJS            : v10.16.3 (/usr/local/bin/node)
   npm               : 6.9.0
   OS                : macOS Catalina
   Xcode             : Xcode 11.3.1 Build version 11C504

Заранее спасибо.

РЕДАКТИРОВАТЬ: Итак, я слышал в Интернете, что команда Ioni c на самом деле не обновляет этот плагин, чтобы попытаться привлечь людей купить у них корпоративную лицензию. Насколько точной, по вашему мнению, является эта информация, и если да, знаете ли вы кого-нибудь, достаточно знакомого с этим плагином, который может знать, как его обновить?

...