0

フレームワーク EventKit を追加しました。このコードがあります。デフォルトのカレンダーにイベントを追加できません。

#import "Calendar.h"
#import <EventKit/EventKit.h>

@implementation Calendar

-(IBAction)addCal:(id)sender
{
    EKEventStore *store = [[EKEventStore alloc] initWithAccessToEntityTypes:EKEntityMaskEvent];
    EKEvent *evento = [EKEvent eventWithEventStore:store];

    [evento setStartDate:[NSDate date]];
    [evento setTitle:@"Title"];   
    [evento setCalendar:[store defaultCalendarForNewEvents]];

    NSError *error;
    [store saveEvent:evento span:EKSpanThisEvent commit:YES error:&error];    
}

コンソールには次のように表示されています。

私は初心者です。ご協力いただきありがとうございます。

4

1 に答える 1

2

私はこのコードをうまく使用しました:

    //Calendar Test:
    [self setEventStore:[[EKEventStore alloc] initWithAccessToEntityTypes:EKEntityMaskEvent]];
    NSCalendar *calendar = [NSCalendar currentCalendar];
    NSDateComponents *dc = [[NSDateComponents alloc] init];
    [dc setHour:1];
    NSDate *startDate = [NSDate date];
    NSDate *endDate = [calendar dateByAddingComponents:dc toDate:[NSDate date] options:0];
    EKEvent *anEvent = [EKEvent eventWithEventStore:eventStore];
    [anEvent setTitle:@"event1"];;
    [anEvent setCalendar:[[eventStore calendarsForEntityType:EKCalendarTypeLocal]objectAtIndex:0]];
    [anEvent setLocation:@"Somewhere"];
    [anEvent setStartDate:startDate];
    [anEvent setEndDate:endDate];
    [eventStore saveEvent:anEvent span:EKSpanThisEvent commit:YES error:nil];

最初のカレンダーで1時間のイベントが表示されますが、それでもメッセージは表示されます。このメッセージは1回限りのデバッグメッセージだと思いますが、プログラムのリリースバージョンではテストしていません。ドキュメントでもこれについて何も見つかりませんでした。

お役に立てば幸いです。

于 2012-07-28T19:06:22.517 に答える