Код EKErrorDomain = 1 в EventKit в ios5.0 - PullRequest
       3

Код EKErrorDomain = 1 в EventKit в ios5.0

2 голосов
/ 28 февраля 2012

Я получаю следующую ошибку в разных местах, например, при удалении события или при добавлении события. В этом описании показано, что календарь не установлен, но я отладил календарь событий, и календарь уже установлен .Я в замешательстве.

Ошибка домена = EKErrorDomain Code = 1 "Календарь не установлен." UserInfo = 0x756a8d0 {NSLocalizedDescription = Календарь не установлен.}

Может ли кто-нибудь подсказать мне, есть ли какие-нибудь точки или я делаю что-то не так?

Заранее спасибо

Ответы [ 2 ]

8 голосов
/ 04 октября 2012

Я знаю, что название этого вопроса относится к iOS5, но у меня было приложение, работающее на iOS5 и выше.Мои пользователи iOS6 сталкивались с этой проблемой по разным причинам - вам нужно использовать новый метод iOS6, если он доступен, чтобы сначала получить доступ к хранилищу событий.

- (void)requestAccessToEntityType:(EKEntityType)entityType completion:(EKEventStoreRequestAccessCompletionHandler)completion

Обязательно сначала проверьте доступность API,например,

EKEventStore* eventStore = [[EKEventStore alloc] init];

if([eventStore respondsToSelector:@selector(requestAccessToEntityType:completion:)]) {
    // >= iOS 6

    [eventStore requestAccessToEntityType:EKEntityTypeEvent
                               completion:^(BOOL granted, NSError *error) {

         // may return on background thread
         dispatch_async(dispatch_get_main_queue(), ^{
             if (granted) {
                 // continue
             } else {
                 // display error
             }
         });
     }];
} else {
    // < iOS 6

    // continue
}
7 голосов
/ 22 марта 2012

Я понял, попробуйте это при создании нового EKEvent:

        [event setCalendar:[eventStore defaultCalendarForNewEvents]];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...