私は単にデバイスのカレンダーにイベントを追加したいと思っています。カレンダーにイベントを非常に遅く追加する
私が使用しています:
__weak ProgramViewController *weakSelf = self;
EKEventStore *store = [[EKEventStore alloc] init];
[store requestAccessToEntityType:EKEntityTypeEvent completion:^(BOOL granted, NSError *error)
{
if (error)
NSLog(@"EKEventStore error = %@", error);
if (granted)
{
NSLog(@"EKEvent *event ");
EKEvent *event = [EKEvent eventWithEventStore:store];
event.title = weakSelf.program.title;
event.location = weakSelf.program.locationPublic;
event.startDate = weakSelf.program.startTime;
event.endDate = weakSelf.program.endTime;
[event setCalendar:[store defaultCalendarForNewEvents]];
NSError *err = nil;
[store saveEvent:event span:EKSpanThisEvent commit:YES error:&err];
if (err)
{
UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"Calendar Error" message:err.localizedDescription delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil];
[alertView show];
}
else
{
UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"Added" message:@"Calendar event added." delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil];
[alertView show];
}
}
}];
とiOS 6で、それは6/7秒(iPhone 4)を取ることができ、(iPhone 5S上)のiOS 7の上に、それは〜10秒かかります。これは正常な動作ですか?私は何が間違っているのでしょうか?
これは面白いことですが、あなたはまだメインキューにディスパッチしています。 –
@JasperBluesは私の編集を参照してください。 – mmackh
いい仕事です。 @daidaiはこの回答を受け入れるように変更してください - それ以降の視聴者にはもっと役立つでしょう。 –