我希望在用户第二次访问日历时添加提示,最初用户点击时不允许日历的第一次访问权限。
// For iOS 6.0 and later
EKEventStore *_eventStore [[EKEventStore alloc] init];
[_eventStore requestAccessToEntityType:EKEntityTypeEvent completion:^(BOOL granted, NSError *error) {
// handle access here
}];
EKEventStore *_reminderStore [[EKEventStore alloc] init];
[_reminderStore requestAccessToEntityType:EKEntityTypeReminder completion:^(BOOL granted, NSError *error) {
// handle access here
}];
这段代码是首次要求用户获得权限时,有人可以告诉我,用户点击后该怎么办?之后不允许这样做?
答案 0 :(得分:0)
您可以将第二个请求放在第一个请求的块中。
所以它看起来像这样:
// For iOS 6.0 and later
EKEventStore *_eventStore [[EKEventStore alloc] init];
[_eventStore requestAccessToEntityType:EKEntityTypeEvent completion:^(BOOL granted, NSError *error) {
if (granted) {
[_eventStore requestAccessToEntityType:EKEntityTypeReminder completion:^(BOOL granted, NSError *error) {
// handle access here
}];
}
}];
另请注意,初始化EKEventStore非常昂贵。尽量只使用它的一个实例。可以在documentation
中找到该信息和更多信息