0

Mountain Lionで、コードでicalを正常に開く方法を見つけることができないようです。

アップルスクリプトを使わず、ココアを使いたいです。不足しているAPIがあるかどうか教えてください。

現在私は使用しています:

[[NSWorkspace sharedWorkspace] launchApplication:@"iCal"];

ありがとうございました!!!

4

2 に答える 2

0

アプリケーションを起動したいだけなら、それは基本的にあなたがしていることです。docs にさらに詳しい情報があり、ここに素敵な記事があります。

ただし、コードでカレンダーと統合したい場合は、Event Kit Frameworkを使用する必要があります。

于 2013-01-23T05:20:59.377 に答える
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 を導入してから機能しなくなりました。1 年以上前にバグを報告しましたが、Apple から有用な回答が得られませんでした。

于 2014-04-17T21:39:43.523 に答える