3

是否有任何客观的 C API 或对象可以让我访问 iCal 及其事件?我需要阅读给定日期的日历事件,并可选择设置一个新事件。

代码是纯 C 或目标 C(在程序的 GUI 版本中)。我在 mac os 10.6 上使用 xcode。

示例代码非常感谢。

4

2 回答 2

5

从 10.8(Mountain Lion)开始,不推荐使用 Calendar Store。您现在应该使用Event Kit

于 2013-03-24T17:47:17.573 回答
1

您可能会发现使用 iCal 的 Apple Events 脚本界面更容易。如果您不喜欢直接使用 AppleScript 的想法,可以使用 Apple 的Scripting Bridge,或者更好的是,将Appscript用于 Objective-C、Ruby 或 Python。这是使用 py-appscript 访问和修改给定日期的事件的一种方法:

>>> from appscript import *
>>> from datetime import datetime
>>> start_time = datetime(2009,10,26)
>>> end_time = datetime(2009,10,26,23,59,59)
>>> calendar = app('iCal').calendars['Home']
>>> for event in calendar.events[(its.start_date >= start_time).AND(its.start_date <= end_time)]():
...   event_properties = event.properties()
...   print event_properties[k.start_date], event_properties[k.summary]
... 
2009-10-26 18:40:00 <event 1>
2009-10-26 23:38:00 <event 2>
>>> event.summary.set(to='something else')
于 2009-11-03T17:28:34.283 回答