我正在使用 EventKit 框架提取在设备上同步的日历,并在 EKCalendar
对象中获取日历标题 myname@gmail.com
这太棒了!但是我们必须知道这个账号的服务商是谁。 wW have 如果后缀是“@gmail.com”那么我们知道它是一个 Google 帐户,但它也可能是一个带有“@mycoolsite.com”的 google 帐户那么我们在这里做什么呢?我们如何才能真正从系统中获取服务提供者?
以下是我们如何获取帐户标题:
EKEventStore * eventStore = [[EKEventStore alloc] init];
NSMutableArray*calendars = [[NSMutableArray alloc]init];
[eventStore requestAccessToEntityType:EKEntityTypeEvent completion:^(BOOL granted, NSError *error) {
if (granted)
{
dispatch_async(dispatch_get_main_queue(), ^{
NSArray * accountsArray = [eventStore calendarsForEntityType:EKEntityTypeEvent];// ios 6 ^
for (int i = 0; i < [accountsArray count]; i++) {
NSString *cal = [[accountsArray objectAtIndex:i] valueForKey:@"title"];
if ([cal rangeOfString:@"@"].location != NSNotFound) {
[calendars addObject:[[accountsArray objectAtIndex:i] valueForKey:@"title"]];
}
}
[self gotCalendars:calendars];
});
}
最佳答案
您无法真正获得服务提供商,您可以通过查看 EKSource
中的 sourceType
来检测使用的服务类型.
关于iphone - 如何从 EKEventStore 获取日历提供商(Google、Apple、Yahoo 等),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18488419/