I have an app that programmatically adds reminders to your iOS device's calendar.
Previous to iOS 5, I could add a calendar item with two alarms thusly:
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];
On iOS 5 this freezes the application. It does not return with an error - it just never returns.
If I only call addAlarm once, it works as expected.
On iOS 4.2, calling addAlarm twice works just fine.
Am I doing something wrong?