Я использую 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 на самом деле не обновляет этот плагин, чтобы попытаться привлечь людей купить у них корпоративную лицензию. Насколько точной, по вашему мнению, является эта информация, и если да, знаете ли вы кого-нибудь, достаточно знакомого с этим плагином, который может знать, как его обновить?