是否有任何客观的 C API 或对象可以让我访问 iCal 及其事件?我需要阅读给定日期的日历事件,并可选择设置一个新事件。
代码是纯 C 或目标 C(在程序的 GUI 版本中)。我在 mac os 10.6 上使用 xcode。
示例代码非常感谢。
是否有任何客观的 C API 或对象可以让我访问 iCal 及其事件?我需要阅读给定日期的日历事件,并可选择设置一个新事件。
代码是纯 C 或目标 C(在程序的 GUI 版本中)。我在 mac os 10.6 上使用 xcode。
示例代码非常感谢。
从 10.8(Mountain Lion)开始,不推荐使用 Calendar Store。您现在应该使用Event Kit。
您可能会发现使用 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')