У меня возникла странная проблема с EKEventEditViewController при использовании его с пользовательскими часовыми поясами. Он ведет себя по-разному в двух случаях:
Ситуация 1 — работает нормально:
- Запустить приложение
- Создайте EKEventEditViewController, чтобы добавить новое событие с startDate = [дата NSDate]
- Начало нового события отображается корректно (текущее время)
- Измените часовой пояс по умолчанию с помощью [NSTimeZone setDefaultTimeZone:otherTimeZone]
- Создайте EKEventEditViewController, чтобы добавить новое событие с startDate = [дата NSDate]
- Начало нового события отображается корректно (текущее время адаптировано к часовому поясу)
Ситуация 2 — неожиданное поведение:
- Запустить приложение
- Измените часовой пояс по умолчанию с помощью [NSTimeZone setDefaultTimeZone:otherTimeZone]
- Создайте EKEventEditViewController, чтобы добавить новое событие с startDate = [дата NSDate]
- Начало нового события отображается неправильно (смещение часового пояса системы + смещение часового пояса по умолчанию)
- Изменить часовой пояс по умолчанию обратно на системный часовой пояс [NSTimeZone setDefaultTimeZone: [NSTimeZone systemTimeZone]]
- Создайте EKEventEditViewController, чтобы добавить новое событие с startDate = [дата NSDate]
- Начало нового события по-прежнему отображается неправильно (смещение часового пояса системы + смещение часового пояса по умолчанию)
Я предполагаю, что при первом отображении EKEventEditViewController он каким-то образом кэширует часовой пояс по умолчанию, а затем использует его в качестве смещения.
Кто-нибудь сталкивался с подобной проблемой? Это ошибка или я что-то упускаю?