Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Objective-C中打开特定事件/日期的iCal?_Objective C_Macos_Calendar_Icalendar - Fatal编程技术网

如何在Objective-C中打开特定事件/日期的iCal?

如何在Objective-C中打开特定事件/日期的iCal?,objective-c,macos,calendar,icalendar,Objective C,Macos,Calendar,Icalendar,在《山狮》中,我似乎找不到用代码成功打开ical的方法 我宁愿不用applescript,而用可可粉。如果我缺少一个api,请告诉我 目前我只使用: [[NSWorkspace sharedWorkspace] launchApplication:@"iCal"]; 谢谢你 如果您只想启动应用程序,那么它基本上就是您正在做的事情。这里有一些进一步的信息和一篇漂亮的文章 但是,如果您想在代码中集成日历,可能应该使用实际上我使用了以下代码: -(void)show:(NSString*)event

在《山狮》中,我似乎找不到用代码成功打开ical的方法

我宁愿不用applescript,而用可可粉。如果我缺少一个api,请告诉我

目前我只使用:

[[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并打开我拉入的同一事件。再次感谢。