我已经构建了一个简单的基于jQuery Mobile的应用程序,并尝试使用Phonegap进行编译。 我希望用户能够通过电子邮件从应用程序发送一些内容,但我无法弄明白。
我的代码:
<script type="text/javascript" src="json2.js"></script>
<script type="text/javascript" charset="utf-8" src="phonegap.js"></script>
<script type="text/javascript" src="EmailComposer.js"></script>
<script src="js/jquery-1.5.min.js"></script>
<script src="js/jquery.mobile-1.0a3.min.js"></script>
<script src="js/jsStuff.js"></script>
<script type="text/javascript" charset="utf-8">
// Wait for PhoneGap to load
//
function onLoad() {
document.addEventListener("deviceready", onDeviceReady, false);
}
// PhoneGap is ready
//
function onDeviceReady() {
// Empty
}
// alert dialog dismissed
function alertDismissed() {
// do something
}
// Show a custom alert
//
function doEmail() {
window.plugins.emailComposer.showEmailComposer("Subject","PlainTextBody", "recipient,recipient", "ccRecipient", "bccRecipient",false);
}
</script>
<link rel="stylesheet" href="style.css" />
然后:
<body onload="onLoad()">
<a href="#" onclick="doEmail(); return false;">Send email</a>
这一点都没有。
我做了什么:
EmailComposer
插件。EmailComposer.js
移至我的应用的根目录(Phonegap项目 - &gt; www)。EmailComposer.h
&amp;右键单击Xcode中的www文件夹,然后“添加” - &gt; EmailComposer.m
到我的项目“现有文件...”(参考类型:默认,“将项目复制到目的地......”已选中)MessageUI.framework
添加到我的项目中 - &gt; “获取信息”并将其添加到链接库。任何帮助都将不胜感激。
答案 0 :(得分:4)
好的,我知道这是一个旧线程,但看起来没有发布正确答案。对于未来可能偶然发现的读者:
您必须将EmailComposer插件添加到PhoneGap.plist文件中,在插件下添加左栏中带有“EmailComposer”的新行,右栏中添加“EmailComposer”。
答案 1 :(得分:2)
您必须将插件添加到PhoneGap.plist。
使用Key“EmailComposer”添加一个新条目,并将值“EmailComposer”添加到
答案 2 :(得分:1)
正如naugtur建议的那样,尝试一些故障排除技术,比如..如果你删除暂时那些自定义脚本,它会有效吗:jsStuff.js和json2.js?我知道在您的应用中可能需要它们,但它可以帮助您找到问题的根源。尝试在doEmail功能中发送控制台消息或警报。希望它有所帮助。
答案 3 :(得分:0)
似乎问题与我将插件文件添加到xCode项目的方式有关。如果您需要额外的详细信息:http://groups.google.com/group/phonegap/browse_thread/thread/6fd7d73d3532effd/4ae9daa0b746ceb5#4ae9daa0b746ceb5
答案 4 :(得分:0)
添加到PhoneGap.plist插件:键'com.phonegap.emailComposer'值'EmailComposer'。
答案 5 :(得分:0)
对于那些在尝试使用Email Composer工作时发现此问题的人,您不再需要向plist添加内容。新的CLI界面为您处理。
最新版本的Email Composer插件位于此处 - https://github.com/katzer/cordova-plugin-email-composer
将其添加到项目中的方法是在命令行中添加:cordova plugin add de.appplant.cordova.plugin.email-composer && cordova prepare
答案 6 :(得分:-1)
我认为您必须将其更改为<a href="javascript:doEmail()">Send Mail</a>
,onclick不是iphone事件