Я пытаюсь создать приложение календаря, такое как приложение Sunrise и iOS Calendar. Как приложение Календарь iOS синхронизируется с различными источниками календаря, такими как Google, Exchange, iCloud и т. д.? Какой протокол они используют? Калдав? Если я собираюсь сделать приложение, как это? Как мне сделать так, чтобы события календарей моего приложения синхронизировались с этими источниками календаря?
Как встроенное в iOS приложение «Календарь» синхронизируется с различными источниками календаря?
Ответы (1)
Календарь iOS использует CalDAV для синхронизации с iCloud и Календарем Google, а также AFAIK EWS для синхронизации с Exchange. Вся синхронизация выполняется некоторым демоном EventKit, работающим в фоновом режиме.
Вы можете либо просто использовать EventKit для хранения своих событий и получить всю синхронизацию бесплатно, либо реализовать протоколы самостоятельно. Текущий EventKit имеет некоторые серьезные ограничения, поэтому он может оказаться неправильным подходом для реализации полнофункционального календаря.
Это хорошее введение в создание клиента CalDAV: http://sabre.io/dav/building-a-caldav-client/.
person
hnh
schedule
11.05.2015
Итак, мне нужно сделать клиент CalDAV только в том случае, если я хочу синхронизировать только с Календарем Google?
- person yong ho; 12.05.2015
Если вы хотите синхронизироваться только с GCal, вы можете создать либо клиент CalDAV, либо клиент GData. Преимущество первого состоит в том, что он работает с большим количеством других серверов.
- person hnh; 12.05.2015