1

我无法使用 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)上运行时出现以下错误消息: “此应用程序无权访问您的日历”

此应用无权访问您的日历

按照建议检查隐私设置根本不会显示我的应用程序的任何条目。

如何解决这个问题并授予访问权限?

4

1 回答 1

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) 添加一个密钥,该密钥将在请求所述访问权限时显示一个字符串。

于 2012-11-08T22:17:15.120 回答