2

我正在使用cordova为iPhone开发一个phonegap应用程序。我正在尝试实现一个场景,当用户单击特定按钮以添加事件时,我需要打开 iPhone 本机日历。我已经按照这个链接完成了我的任务,即 iPhone 日历插件。

我按照他们的规定做了以下步骤:

  1. 在 Plugins 文件夹中添加了 CalendarPlugin.m,CalendarPlugin.h
  2. 添加了 calendar.js 文件并在我的 .html 文件中添加了引用。
  3. 添加依赖 EventKit 框架和 EventKitUI 框架
  4. 在 cordova.plist 文件中添加了带有 calendarPlugin 键/对值的插件。

我的 HTML 文件看起来像这样:

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="user-scalable=no, initial-scale=1, maximum-scale=1, minimum-scale=1, width=device-width, target-densitydpi=device-dpi" />
  <title>My Calendar Plugin</title>
  <meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=no">
  <meta name="apple-mobile-web-app-capable" content="yes">
  <meta name="apple-mobile-web-app-status-bar-style" content="black">

<script src="assets/Scripts/jquery-1.9.1.min.js"></script>
<script src="assets/Scripts/cordova-2.3.0.js"></script>
<script type="text/javascript" src="assets/Scripts/calendar.js"></script> 
<script type="text/javascript" src="assets/Scripts/index.js"></script> 
<script type="text/javascript">

function addEvent()
{
var cal = new calendarPlugin();
console.log("creating event");
var title= "My Sample Appt";
var location = "Los Angeles";
var notes = "This is a sample note";
var startDate = "2012-04-16 09:30:00";
var endDate = "2012-04-16 12:30:00";
var errCall = function(theerror) {
 console.log("Error occurred - " + theerror);
 }
var succCall = function(themessage) {
console.log("Success - " + themessage);
 }
cal.createEvent(title,location,notes,startDate,endDate, succCall, errCall);
return false;
}
</script>
</head>
<body>
<input type="button" id="btnAddEvent" onclick="return addEvent();"/>

</body>
</html>

但我无法打开本地日历并在指定日期添加事件。我已经查看了几个 StackOverflow 问题和 Google Groups 讨论,但它们对我没有用。我已经根据 github 问题部分中指定的 iPhone 6 更新更改了我的 calendarPlugin.m 和 calendarPlugin.h 文件。如果我在 phonegap 中实现日历插件的方向错误,请指导我。

4

1 回答 1

0

尝试

cal = window.plugins.calendarPlugin

代替,

cal = new calendarPlugin()

看看是否有帮助。

于 2013-10-07T11:29:37.817 回答