Как получить поставщика календаря (Google, Apple, Yahoo и т. д.) из EKEventStore

Я извлекаю календари, которые синхронизировались на устройстве с помощью платформы EventKit, и получаю название календаря [email protected] в объекте EKCalendar, и это здорово! Но мы должны знать, кто является поставщиком услуг для этой учетной записи. wW, если суффикс «@gmail.com», поэтому мы знаем, что это учетная запись Google, но это также может быть учетная запись Google с «@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];
        });
    }

person or azran    schedule 28.08.2013    source источник


Ответы (1)


На самом деле вы не можете получить поставщика услуг, вы можете определить тип используемой службы, просмотрев sourceType в EKSource.

person rckoenes    schedule 28.08.2013