내가 프로그래밍 같은 하나 개의 알람 이벤트 만들려고 해요 :은에/변경 알람 EKAlarm을 추가 할 수있는 [새로 생성] EKEvent 이벤트
+(void)exportEvent:(AgendaEvent*)evento
onCalendar:(EKCalendar*)calendar {
EKEventStore* store= [[[EKEventStore alloc] init] autorelease];
[store requestAccessToEntityType:EKEntityTypeEvent completion:^(BOOL granted, NSError *error) {
dispatch_async(dispatch_get_main_queue(), ^{
if(!granted) {
// show "not granted" message
return;
}
// save event
NSCalendar* gc= [[[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar] autorelease];
EKEvent* event= [EKEvent eventWithEventStore:store];
event.title= evento.descrizione;
event.startDate= [gc dateFromComponents:evento.begin];
if(evento.end)
event.endDate= [gc dateFromComponents:evento.end];
else {
NSDateComponents* endDateComponents= [[evento.begin copy] autorelease];
endDateComponents.day++;
endDateComponents.hour= 0;
endDateComponents.minute= -1;
endDateComponents.second= 0;
NSDate* endDate= [gc dateFromComponents:endDateComponents];
// endDate is correctly set at 23:59 of the same day of beginDate, when all day beginDay is at 00:00
event.endDate= endDate;
event.allDay= YES;
}
event.calendar= calendar;
// reminder
NSDateComponents* reminderDateComponents= [[evento.begin copy] autorelease];
reminderDateComponents.day--;
reminderDateComponents.hour= 9;
reminderDateComponents.minute= 0;
NSDate* reminderDate= [gc dateFromComponents:reminderDateComponents];
// reminder date is correctly set at 9:00 of the previous day of beginDate
[event addAlarm:[EKAlarm alarmWithAbsoluteDate:reminderDate]];
NSError* err= nil;
[store saveEvent:event span:EKSpanThisEvent commit:YES error:&err];
if(err) {
// show "unable to export" message
return;
}
// show "exported" message
});
}];
}
을하지만 몇 번 만 (또는 그 이상 제대로 자주) [store saveEvent:event span:EKSpanThisEvent commit:YES error:&err]
이 실패합니다
2014-06-13 09:34:01.300 xxx[224:60b] CADObjectGetRelation failed with error Error Domain=NSMachErrorDomain Code=268435459 "The operation couldn’t be completed. (Mach error 268435459 - (ipc/send) invalid destination port)"
2014-06-13 09:34:01.301 xxx[224:60b] Impossibile esportare evento: Error Domain=EKErrorDomain Code=29 "Impossibile modificare avvisi." UserInfo=0x16a7c7e0 {NSLocalizedDescription=Impossibile modificare avvisi.}
심지어 EKErrorDomain 코드 (29)에 대한 설명을 찾을 수없는, 아무도 실마리가 무엇입니까?
그 마음을하시기 바랍니다 : 당신이 볼 수 있지만 (너무 정적 분석기에) 나에게 꽤 정확한 것 같다 수있는 내가 호를 사용하지 않는
- .
- 나는 또한 두 단계로 이벤트 저장을 분할하려고 시도했다. 하나는 이벤트 용이고 하나는 동일한 결과를 가진 경보 용이다.
- "Impossibile modificare avvisi." "경고를 변경할 수 없음"을 의미합니다. 이벤트 작성에 실패하지만, 이벤트 및 알람을 만들 때 나타나지 않을 것으로 보인다 경우에도
CADObjectGetRelation
관련 메시지가 항상 표시되지 ios7.1.1 및 ios7.1 시뮬레이터 아이 패드 공기에 시도- .