Obousměrá synchronizace iPhone kalendáře s Google Calendar
Na iPhone mi docela chyběla možnost synchronizovat jeho vnitřní kalendář s mými kalendáři z Google Calendar. Jde to nepřímo, pomocí iTunes a MS Outlook s iCal pluginem (alespoň jsem na něco takového narazil na netu), ale přeci jenom přímý způsob je přímý způsob, a tak jsem si napsal jednoduchou utilitku ics.

Vlastnosti:
- Synchronizuje všechny události za všech kalendářů - oběma směry
- Pracuje s fw verze 1.1.3 (s jinými verzemi netestováno)
Požadavky:
- Nainstalovaný .NET Framework 2.0
- Nainstalované iTunes (testováno s verzí 7.6.1)
Instalace:
- Stáhnout tento zip (400 kB) a někam ho rozbalit
- Zkopírovat iTunesMobileDevice.dll (obvykle umístěno v c:\Program Files\Common Files\Apple\Mobile Device Support\bin\) do adresáře s ics.exe (místo z předchozího kroku)
- Je dobré mít nastaveno stejné časové pásmo v Google Calendar a iPhone - pozor na to, že v Google Calendar jsou dvě místa kde se nastavuje vybírá pásmo - první je pod Settings/Your current time zone. Pro nás důležité je ale nastavení v Settings/Calendars/[Calendar]/Calendar Time Zone. Pokud máte více kalendářů, je potřeba změnit nastavení pro každý zvlášť.
Jak synchronizovat:
- Připojit iPhone pomocí USB kabelu
- Ujistit se, že v iPhone není otevřena aplikace kalendář
- Spustit ics.exe
- Zadat email a heslo k vašemu Google Calendar účtu
- Stisknout tlačítko Synchronize
- Zkontrolovat navržené změny a potvrdit/odmítnout synchronizaci
- Toť vše
Omezení:
- Omezená podpora pro opakované události - opakované události z Google Calendar se zobrazí v iPhone, ale ne naopak (v Google Calendar se zobrazí pouze první výskyt takové události z iPhone). Editace a mazání opakovaných událostí z Google Calendar v iPhone nefunguje a změna bude stornována při příští synchronizaci.
- Není podpora pro zvuková upozornění (i když lze v iPhone upozornění manuálně přidat)
- Události přidané přes iPhone se vloží do standardního (obvykle prvního) kalendáře v Google Calendar
- V případě konfliktu (např. když uživatel upraví událost v iPhone i Google Calendar zároveň a poté synchronizuje), Google Calendar je brán jako autorita
- Synchronizuje pouze události v intervalu [Nyní - 3 měsíce; Nyní + 1 rok], maximálně pak 10000 událostí
- Tento program je poskytován bez jakékoliv záruky, tzn. neručím za to, že to nespálí váš iPhone nebo nesmaže všechny události z kalendáře, a podobně
Poděkování:
- manzana (.NET API for interacting with the Apple iPhone)
- managed-sqlite (A Managed SQLite implementation)
- Google APIs and Tools
Tags: .NET, Calendar, Google Calendar, Synchronization, iPhone