IOS/Objective-C:EventKit EKReminders 与 EKEvents 对比
IOS/Objective-C:EventKit EKReminders compared with EKEvents
我正在尝试使用 EventKit,但对事件与提醒的比较感到困惑。
您需要获得单独的权限才能访问提醒和事件吗?
我知道有self.eventStorerequestAccessToEntityType:EKEntityTypeReminder
还有requestAccessToEntityType:EKEntityTypeEvent
以下是两者的方法。但是对于如此密切相关的事情必须征求两次许可似乎有点过分了。
-(void)requestAccessToEvents{
[self.eventStore requestAccessToEntityType:EKEntityTypeEvent completion:^(BOOL granted, NSError *error) {
if (error == nil) {
// Store the returned granted value.
self.grantedEvents = granted;
[[NSUserDefaults standardUserDefaults] setValue:[NSNumber numberWithBool:granted] forKey:@"eventsAccessGranted"];
}
else{
// In case of error, just log its description to the debugger.
NSLog(@"%@", [error localizedDescription]);
}
}];
}
-(void) requestAccessToReminders
{
[self.eventStore requestAccessToEntityType:EKEntityTypeReminder completion:^(BOOL granted, NSError *error)
{
if (error == nil) {
// Store the returned granted value.
self.grantedReminders = granted;
[[NSUserDefaults standardUserDefaults] setValue:[NSNumber numberWithBool:granted] forKey:@"remindersAccessGranted"];
}
else{
// In case of error, just log its description to the debugger.
NSLog(@"%@", [error localizedDescription]);
}
if (granted)
{
importEvents * __weak weakSelf = self;
//ensure code will be executed from the main queue
dispatch_async(dispatch_get_main_queue(), ^{
// [weakSelf aMethodToUpdateUIFetchEvents];//method located in viewController
});
}
}];
}
感谢您的任何建议。
EKEntityTypeEvent
用于进入用户日历的事件。
EKEntityTypeReminder
用于转到用户提醒的提醒。
每个都需要自己的许可请求。用户可能允许访问其中一个,但不允许访问另一个。忽略 API 的相似性和相关性。对于用户来说,它们是完全不同的两个东西。
我正在尝试使用 EventKit,但对事件与提醒的比较感到困惑。
您需要获得单独的权限才能访问提醒和事件吗?
我知道有self.eventStorerequestAccessToEntityType:EKEntityTypeReminder
还有requestAccessToEntityType:EKEntityTypeEvent
以下是两者的方法。但是对于如此密切相关的事情必须征求两次许可似乎有点过分了。
-(void)requestAccessToEvents{
[self.eventStore requestAccessToEntityType:EKEntityTypeEvent completion:^(BOOL granted, NSError *error) {
if (error == nil) {
// Store the returned granted value.
self.grantedEvents = granted;
[[NSUserDefaults standardUserDefaults] setValue:[NSNumber numberWithBool:granted] forKey:@"eventsAccessGranted"];
}
else{
// In case of error, just log its description to the debugger.
NSLog(@"%@", [error localizedDescription]);
}
}];
}
-(void) requestAccessToReminders
{
[self.eventStore requestAccessToEntityType:EKEntityTypeReminder completion:^(BOOL granted, NSError *error)
{
if (error == nil) {
// Store the returned granted value.
self.grantedReminders = granted;
[[NSUserDefaults standardUserDefaults] setValue:[NSNumber numberWithBool:granted] forKey:@"remindersAccessGranted"];
}
else{
// In case of error, just log its description to the debugger.
NSLog(@"%@", [error localizedDescription]);
}
if (granted)
{
importEvents * __weak weakSelf = self;
//ensure code will be executed from the main queue
dispatch_async(dispatch_get_main_queue(), ^{
// [weakSelf aMethodToUpdateUIFetchEvents];//method located in viewController
});
}
}];
}
感谢您的任何建议。
EKEntityTypeEvent
用于进入用户日历的事件。
EKEntityTypeReminder
用于转到用户提醒的提醒。
每个都需要自己的许可请求。用户可能允许访问其中一个,但不允许访问另一个。忽略 API 的相似性和相关性。对于用户来说,它们是完全不同的两个东西。