我无法使用Eventkit访问设备的日历。我正在使用EKEventEditViewController来呈现用于添加日历条目的视图。
EKEventStore *eventStore = [[EKEventStore alloc] init];
EKEventEditViewController *eventController = [[EKEventEditViewController alloc]init];
eventController.eventStore = eventStore;
eventController.editViewDelegate = self;
...
[self presentViewController:eventController animated:YES completion:nil];
此可在模拟器上正常运行,但在手机上运行时会收到以下错误消息(iOS6):“此应用无法访问到你的日历“
按照建议检查隐私设置不会显示我的应用程序的任何条目。
如何解决此问题并授予访问权限?
答案 0 :(得分:6)
您可以请求访问
EKEventStore *store = [[EKEventStore alloc] init];
if([store respondsToSelector:@selector(requestAccessToEntityType:completion:)]) {
[store requestAccessToEntityType:EKEntityTypeEvent completion:^(BOOL granted, NSError *error) {
/* This code will run when uses has made his/her choice */
}];
}
您还可以向plist(NSCalendarsUsageDescription)添加一个密钥,该密钥在请求访问时将显示一个字符串。