如何在Objective-C中打开特定事件/日期的iCal?
在《山狮》中,我似乎找不到用代码成功打开ical的方法 我宁愿不用applescript,而用可可粉。如果我缺少一个api,请告诉我 目前我只使用:如何在Objective-C中打开特定事件/日期的iCal?,objective-c,macos,calendar,icalendar,Objective C,Macos,Calendar,Icalendar,在《山狮》中,我似乎找不到用代码成功打开ical的方法 我宁愿不用applescript,而用可可粉。如果我缺少一个api,请告诉我 目前我只使用: [[NSWorkspace sharedWorkspace] launchApplication:@"iCal"]; 谢谢你 如果您只想启动应用程序,那么它基本上就是您正在做的事情。这里有一些进一步的信息和一篇漂亮的文章 但是,如果您想在代码中集成日历,可能应该使用实际上我使用了以下代码: -(void)show:(NSString*)event
[[NSWorkspace sharedWorkspace] launchApplication:@"iCal"];
谢谢你 如果您只想启动应用程序,那么它基本上就是您正在做的事情。这里有一些进一步的信息和一篇漂亮的文章
但是,如果您想在代码中集成日历,可能应该使用实际上我使用了以下代码:
-(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];
}
}
}
}
它工作了很长一段时间,但自从他们引入沙盒后就停止了工作。我在一年多前提交了一个bug,但没有从苹果得到有用的答案。谢谢。我的目标是将iCal开放到特定日期或特定事件。我已经成功打开iCal的代码,但是直到今天。我正在使用事件工具包进行交互并将事件拉入我的应用程序,但我似乎无法获得iCal按钮链接回iCal并打开我拉入的同一事件。再次感谢。