要检查ios6设备上是否存在EKEventStore权限
要检查ios6设备上是否存在要检查ios6设备上是否存在EKEventStore权限,ios6,ekeventstore,Ios6,Ekeventstore,要检查ios6设备上是否存在EKEventStore权限 EKEventStore*eventStore=[[UpdateManager sharedUpdateManager]eventStore]; if([eventStore respondsToSelector:@selector(requestAccessToEntityType:完成:)])) { [eventStore requestAccessToEntityType:eEntityTypeEvent completion:^(
EKEventStore
权限
EKEventStore*eventStore=[[UpdateManager sharedUpdateManager]eventStore];
if([eventStore respondsToSelector:@selector(requestAccessToEntityType:完成:)]))
{
[eventStore requestAccessToEntityType:eEntityTypeEvent completion:^(已授予布尔,N错误*错误)
{
如果(授予)
{
addEventBlock();
}
其他的
{
NSLog(“未授予”);
}
}];
}
此代码仅在第一次使用时有效。像这样使用
- (IBAction)btnAddFromDBTouched:(id)sender {
void (^addEventBlock)();
addEventBlock = ^
{
self.eventStore = [[EKEventStore alloc] init];
self.eventsList = [[NSMutableArray alloc] initWithArray:0];
self.defaultCalendar = [self.eventStore defaultCalendarForNewEvents];
NSDate *startDate = [NSDate date];
// endDate is 1 day = 60*60*24 seconds = 86400 seconds from startDate
NSDate *endDate = [NSDate dateWithTimeIntervalSinceNow:86400*365];
// Create the predicate. Pass it the default calendar.
NSArray *calendarArray = [NSArray arrayWithObject:defaultCalendar];
NSPredicate *predicate = [self.eventStore predicateForEventsWithStartDate:startDate endDate:endDate
calendars:calendarArray];
NSArray *events = [self.eventStore eventsMatchingPredicate:predicate];
nmfChooseEvent *myView = [[nmfChooseEvent alloc] init];
[myView setTableSource:events];
[self presentModalViewController:myView animated:YES];
myView.mainView=self;
return;
};
if ([eventStore respondsToSelector:@selector(requestAccessToEntityType:completion:)])
{
[eventStore requestAccessToEntityType:EKEntityTypeEvent completion:^(BOOL granted, NSError *error)
{
if (granted)
{
addEventBlock();
}
else
{
dispatch_async(dispatch_get_main_queue(), ^{
UIAlertView *myView = [[UIAlertView alloc] initWithTitle:@"warning" message:@"To be Able to Use This Function, You Must Authorize xxx in Settings>>Privacy>>Calendars Section." delegate:nil cancelButtonTitle:"OK" otherButtonTitles:nil, nil];
[myView show];
});
}
}];
}
else
{
addEventBlock();
}
}