2015-05-11 2 views
0

Я пытаюсь создать приложение для календаря, такое как восход и приложение Calendar для iOS. Как синхронизирует приложение приложения iOS с различными источниками календаря, такими как Google, Exchange и iCloud и т. Д.? Какой протокол они используют? CalDav? Если я собираюсь сделать такое приложение? Как мне сделать так, чтобы события календарей приложения приложения синхронизировались с этими источниками календаря?Как синхронизировать приложение приложения iOS с различными источниками календаря?

ответ

2

Календар iOS использует CalDAV для синхронизации с iCloud и Календарем Google и AFAIK EWS для синхронизации с Exchange. Вся синхронизация выполняется некоторым демоном EventKit, работающим в фоновом режиме.

Вы можете либо просто использовать EventKit для хранения ваших событий, либо получить всю синхронизацию бесплатно, либо реализовать свои протоколы самостоятельно. В текущем EventKit есть некоторые серьезные ограничения, поэтому, возможно, это не правильный подход к реализации полнофункционального календаря.

Это прекрасное введение, как построить клиент CalDAV: http://sabre.io/dav/building-a-caldav-client/.

+0

Так что мне нужно только сделать клиент CalDAV, если я хочу только синхронизировать с Google Календарем? –

+0

Если вы хотите синхронизировать только с GCal, вы можете создать клиент CalDAV или GData. Первый имеет то преимущество, что он работает с большим количеством других серверов. – hnh

+0

Итак, что такое GData? –

Смежные вопросы