我似乎无法在Mountain Lion中找到成功在代码中打开ical的方法。
我宁愿不使用applescript,也不要使用cocoa。让我知道是否有一个api我不见了。
目前我只使用:
[[NSWorkspace sharedWorkspace] launchApplication:@"iCal"];
谢谢!!!
答案 0 :(得分:0)
如果您只想启动应用程序,那么它基本上就是您正在做的事情。还有一些进一步的信息in the docs和一个很好的写作here。
但是,如果您想在代码中集成日历,也许您应该使用Event Kit Framework
答案 1 :(得分:0)
实际上我使用了以下代码:
-(void)show:(NSString*)eventUid InCalendar:(NSString*)calUid {
iCalApplication *iCal = [SBApplication applicationWithBundleIdentifier:(@"com.apple.iCal")];
[iCal activate];
SBElementArray *sbCalendars = [iCal calendars];
if(sbCalendars != nil && [sbCalendars objectWithID:calUid] != nil) {
iCalCalendar *sbCalendar = [sbCalendars objectWithID:calUid];
if([sbCalendar events] != nil){
iCalEvent *sbCalEvent = [[sbCalendar events] objectWithID:eventUid];
if(sbCalEvent != nil){
NSLog(@"%@", sbCalEvent);
[sbCalEvent show];
}
}
}
}
自从他们推出Sandbox以来,它已经工作了很长时间但停止了工作。我在一年多前提交了一个错误,但没有得到Apple的回答。