我正在制作一个将事件添加到默认日历的应用程序,但我发现了一个问题。这是用于使应用程序访问日历的代码:
// create eventStore object.
EKEventStore *eventStore = [[EKEventStore alloc] init];
if([eventStore respondsToSelector:@selector(requestAccessToEntityType:completion:)])
{
[eventStore requestAccessToEntityType:EKEntityTypeEvent completion:^(BOOL granted, NSError *error)
{
if(granted)
{
// create an instance of event with the help of event-store object.
EKEvent *event = [EKEvent eventWithEventStore:eventStore];
// set the title of the event.
event.title = @"Event";
event.startDate = [[NSDate date] dateByAddingTimeInterval:86400];
event.endDate = [[NSDate date] dateByAddingTimeInterval:90000];
// set the calendar of the event. - here default calendar
[event setCalendar:[eventStore defaultCalendarForNewEvents]];
// store the event using EventStore.
NSError *err;
[eventStore saveEvent:event span:EKSpanThisEvent error:&err];
}
else {
UIAlertView *warningAlert = [[UIAlertView alloc] initWithTitle:@"Error" message:@"No permission to access!" delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil];
[warningAlert show];
}
}];
}
我想如果我进入一般>隐私并将对日历的访问设置为“否”,每当我单击执行之前列出的操作的按钮时,程序应该跳过“其他”(将布尔设置为假)创建警报视图。但是当我尝试这个时,程序崩溃不让我做任何事情,如果我按下主页按钮然后重新进入应用程序,一个空的 alertView 会出现(没有标题或消息)。
我该如何解决这个问题?我把 alertView 放在了错误的地方?
添加信息:此功能位于我每次点击事件时单击的按钮上。