本文介绍了如何修复EKErrorDomain代码= 1"未设置日历的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我想创建iPhone日历的日历项,我尝试了以下代码
I want to create a calendar entry to the iPhone calendar, I have tried the following code
EKEventStore *eventStore = [[EKEventStore alloc] init];
EKEvent *event = [EKEvent eventWithEventStore:eventStore];
event.title = self.selectedPost.postTitle;
event.notes = self.selectedPost.postContent;
event.startDate = self.selectedPost.startDate;
event.endDate = self.selectedPost.endDate;
EKCalendar *targetCalendar = nil;
targetCalendar = [eventStore defaultCalendarForNewEvents];
NSLog(@"%@",targetCalendar);
[event setCalendar:targetCalendar];
NSError *err;
[eventStore saveEvent:event span:EKSpanThisEvent error:&err];
UIAlertView *alert = nil;
NSLog(@"err %@",err);
if (err) {
alert = [[UIAlertView alloc] initWithTitle:@"Error" message:[err localizedDescription] delegate:nil cancelButtonTitle:@"OK" otherButtonTitles: nil];
}
else{
alert = [[UIAlertView alloc] initWithTitle:@"Success" message:@"Added to calender" delegate:nil cancelButtonTitle:@"OK" otherButtonTitles: nil];
}
[alert show];
但结果是
2013-01-15 22:31:34.682 Project[40863:907] defaultCalendarForNewEvents failed: Error Domain=EKCADErrorDomain Code=1013 "The operation couldn’t be completed. (EKCADErrorDomain error 1013.)"
2013-01-15 22:31:34.683 Project[40863:907] (null)
2013-01-15 22:31:34.690 Project[40863:907] err Error Domain=EKErrorDomain Code=1 "No calendar has been set." UserInfo=0x1d535ba0 {NSLocalizedDescription=No calendar has been set.}
我知道这是因为
[eventStore defaultCalendarForNewEvents];
返回空值。
我已经尝试过
[eventStore calendarWithIdentifier:event.calendarItemIdentifier];
和一些其他代码,但结果相同,如何解决此问题$ p $ b任何想法
returns null.I have tried [eventStore calendarWithIdentifier:event.calendarItemIdentifier];and some other code but same result how to fix thisAny idea
推荐答案
如果iOS 6.0或更高版本,您必须先请求访问用户的日历,然后EventKit使用方法
If this is on iOS 6.0 or later, you'll have to first request access to the user's calendars before EventKit will hand them to you by using the method -[EKEventStore requestAccessToEntityType:completion:]
查看
这篇关于如何修复EKErrorDomain代码= 1"未设置日历的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!