我正在使用email composer plugin作为我的离子应用程序,我在iOS 9上遇到了一个问题,我无法使用外部电子邮件应用程序。我已经尝试将以下内容添加到plist中,因为它是一个url方案,但似乎没有帮助。
<key>LSApplicationQueriesSchemes</key>
<array>
<string>mailto</string>
</array>
错误xcode给出:
2015-10-06 22:10:45.037 NSP[1830:29571] -canOpenURL: failed for URL: "mailto:test@test.de" - error: "(null)"
2015-10-06 22:10:45.044 NSP[1830:29571] -canOpenURL: failed for URL: "mailto:test@test.de" - error: "(null)"
2015-10-06 22:10:45.047 NSP[1830:29571] -canOpenURL: failed for URL: "mailto:test@test.de" - error: "(null)"
是的,一次通话就有3个错误。这是呼叫代码:
$cordovaEmailComposer.isAvailable().then(function () {
$cordovaEmailComposer.open({
to: [], // email addresses for TO field
cc: [], // email addresses for CC field
bcc: [], // email addresses for BCC field
attachments: [], // file paths or base64 data streams
subject: item.name, // subject of the email
body: item.name + " download link: " + item.link, // email body (for HTML, set isHtml to true)
isHtml: false, // indicats if the body is HTML or plain text
}, function () {
//console.log('email view dismissed');
}, this);
}, function () { //Not available
MessageBox.ShowAlert("Unavailible", "Email is currently unavailable on this platform");
});
有什么方法可以解决这个问题吗?它在Android和早期版本的iOS上运行良好,还是一个我无法解决的插件问题?一切都在更新。可能的解决方法或其他插件使这项工作?我尝试了解决方案here但我不认为这与我的问题有关。
答案 0 :(得分:1)
好。两个随机猜测。如果这些不起作用,我会删除它。
1)几天前发布了对iOS9 Cordova的支持。
尝试升级,这可能会解决您的问题:
https://cordova.apache.org/announcements/2015/11/02/cordova-ios-3.9.2.html
2)'mailto:'可能受 Cordova Tools 5.x 所需的whitelist
规则约束。您需要应用整个whitelist
或仅CSP
部分。
HOW TO apply the Cordova/Phonegap the whitelist system
我认为没有迹象表明这是在新的Apple ATS安全过滤器下,但它可能是。
要明确,请将CSP
应用于网页,然后应用whitelist
和插件,最后是Apple的ATS
。该文档中列出了一些快捷方式。
有任何问题吗?可以肯定在我的句柄前使用@,这样我就能得到消息。
答案 1 :(得分:1)
我遇到了同样的问题。
在添加LSApplicationQueriesSchemes并且没有运气之后,我尝试了一个实际的设备并且它确实正常工作。它只是在模拟器中不起作用。
添加LSApplicationQueriesSchemes的快速方法是:
cordova插件添加cordova-plugin-queries-schemes
答案 2 :(得分:1)
我可以确认,当配置了邮件客户端的实际设备上安装了stock插件(没有LSApplicationQueriesSchemes
)时,它运行良好。我认为canOpenURL问题主要发生在模拟器上。
即使在实际的设备上,如果你没有设置默认的邮件客户端,那么你会得到各种奇怪的崩溃(控制器不会显示在UI视图中等)。
只需在配置了邮件客户端的设备上试用它。