Нужна помощь в сохранении уникального пользовательского идентификатора внутри события в календаре iOS (Swift)

Я создаю приложение на Swift, которое показывает пользовательские события с датами, отправленными с сервера. У этих событий есть уникальные идентификаторы. Одна из функций приложения позволяет пользователю планировать эти события, сохраняя их в календаре iOS. Проблема в том, что приложение должно показывать пользователям, какие события были запланированы в календаре iOS. Для этого я могу сравнить заголовки и даты событий в моем приложении с событиями, которые пользователь сохранил в календаре, но может быть два события с одинаковыми датами и заголовками. Поэтому мне нужно сохранить уникальный пользовательский идентификатор события внутри элемента календаря iOS. EKCalendarItem, похоже, не имеет переменной, которую я могу использовать. Если я сохраню его в заметках, пользователь сможет изменить идентификатор. Есть идеи, как решить эту проблему? Я использую фреймворк EventKit.


person georgebp    schedule 01.04.2019    source источник


Ответы (1)


Насколько мне известно, вы не можете хранить свои собственные идентификаторы в записях календаря. Я бы рекомендовал хранить внешние идентификаторы записей вместе с идентификатором записи календаря iOS в локальной структуре данных.

Возможно, словарь с внешним идентификатором в качестве ключа и EKEvent.eventIdentifier в качестве значения.

Кроме того, вы должны прислушиваться к изменениям в календаре, чтобы иметь возможность отреагировать в случае необходимости. (EKEventStoreChangedNotification)

person D. Mika    schedule 01.04.2019