如何从EKEventStore获取日历提供程序(Google,Apple,Yahoo等)

时间:2013-08-28 12:50:28

标签: iphone ios ekeventstore

我正在使用EventKit框架在设备上同步日历,并在myname@gmail.com对象中获取日历标题EKCalendar,这非常棒!但我们必须知道谁是此帐户的服务提供商。如果后缀是“@ gmail.com”,我们知道这是一个谷歌帐户,但它也可能是一个带有“@ mycoolsite.com”的谷歌帐户那么我们在这里做什么?我们如何从系统中实际获得服务提供商?

以下是我们获取帐号的方式:

    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];
        });
    }

1 个答案:

答案 0 :(得分:2)

您无法真正获得服务提供商,您可以通过查看EKSource中的sourceType来检测所使用的服务类型。