#import <EventKit/EventKit.h>
我无法在默认的iOS日历中创建活动.
EKEventStore *eventStore = [[EKEventStore alloc] init]; for (EKSource *source in eventStore.sources) { if (source.sourceType == EKSourceTypeCalDAV || source.sourceType == EKSourceTypeLocal) { NSLog(@"I found it"); break; } }
从这里开始,它无法返回任何来源.当我构建并运行应用程序时,没有任何请求可以访问默认日历.
总而言之,我得到一个空数组:
[eventStore.sources count]
即使我尝试添加事件而不创建新日历(使用
[eventStore defaultCalendarForNewEvents]
解决方法
我想访问EKEventStore有问题,检查权限尝试以下,
EKEventStore *eventStore = [[EKEventStore alloc] init]; if ([eventStore respondsToSelector:@selector(requestAccessToEntityType:completion:)]){ [eventStore requestAccessToEntityType:EKEntityTypeEvent completion:^(BOOL granted,NSError *error) { NSLog(@"GRANTED: %c",granted); for (EKSource *source in eventStore.sources) { if (source.sourceType == EKSourceTypeCalDAV || source.sourceType == EKSourceTypeLocal) { NSLog(@"I found it"); break; } } }]; }
希望它能帮助你..