1

我正在使用 EventKit 框架提取在设备上同步的日历,并myname@gmail.com在一个EKCalendar很棒的对象中获取日历标题!但是我们必须知道谁是这个账户的服务提供者。wW 如果后缀是“@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];
        });
    }
4

1 回答 1

2

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

于 2013-08-28T12:59:03.970 回答