1
我正在創建一個將事件添加到默認日曆的應用程序,但我發現了一個問題。這是用來使應用程序訪問日曆代碼:如果requestAccessToEntityType失敗,則不顯示UIAlertView
// 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的「else」(創建bool爲false)。但是,當我嘗試這個程序崩潰不讓我做任何事情,如果我按主頁按鈕,然後重新輸入應用程序空alertView將出現(無標題或消息)。
我該如何解決這個問題?我把alertView放在錯誤的地方?
添加信息:此功能是在我每次點擊某個事件時點擊的按鈕。
這是非常有益的。謝謝 –