EventKit - приложение зависает при добавлении EKEvent с 2 будильниками (iOS 5) - PullRequest
5 голосов
/ 21 октября 2011

У меня есть приложение, которое программно добавляет напоминания в календарь вашего устройства iOS.

До iOS 5 я мог добавить элемент календаря с двумя сигналами тревоги, таким образом:

EKEventStore* eventStore = [[EKEventStore alloc] init];
EKEvent* event = [EKEvent eventWithEventStore:eventStore];
// set startDate, endDate, title, location, etc.

[event addAlarm:[EKAlarm alarmWithRelativeOffset:60.0f * -5.0f]]; // 5 min
[event addAlarm:[EKAlarm alarmWithRelativeOffset:60.0f * -15.0f]]; // 15 min

[event setCalendar:[eventStore defaultCalendarForNewEvents]];
NSError* error = nil;
BOOL success = [eventStore saveEvent:event span:EKSpanThisEvent error:&error]; 

В iOS5 замораживает приложение .Он не возвращается с ошибкой - он просто никогда не возвращается.

Если я вызываю addAlarm только один раз, он работает как положено.

В iOS 4.2 двойной вызов addAlarm работает просто отлично.

Я что-то не так делаю?

Ответы [ 4 ]

1 голос
/ 06 января 2012

Это ошибка с Apple.Если вы установите 2 будильника, это приведет к зависанию приложения.Если вы только установите 1, это работает просто отлично.Это исправлено в iOS 5.1.

0 голосов
/ 24 октября 2011

Если вы посмотрите на раздел EventKit в iOS 5, отличающийся от iOS 4.3 document , в нем упоминается, что некоторые элементы устарели для EKEvent.Иерархия изменилась, и был добавлен новый абстрактный суперкласс: EKCalendarItem .

0 голосов
/ 26 октября 2011

У меня была такая же ошибка.

Проблема, похоже, в том, что startDate не должно совпадать с endDate ... действительно глупое изменение iOS!

0 голосов
/ 21 октября 2011

вы пытались вызвать addAlarm с помощью переменной?

EKAlarm *alarm = [EKAlarm alarmWithRelativeOffset:60.0f * -5.0f]]; // 5 min
[event addAlarm:alarm];

EKAlarm *alarm2 = [EKAlarm alarmWithRelativeOffset:60.0f * -15.0f]]; // 15 min
[event addAlarm:alarm2];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...