2009-11-25 4 views
0

Я занимаюсь созданием приложения для календаря. для iPhone. Я получаю события календаря из календарей Google (без расширения повторения). Затем попытался расширить события повторения, написав коды с нуля. я получил формат Анонсы из Интернета, например, следующие одно:Расширение повторяющихся данных iCalendar

http://www.kanzaki.com/docs/ical/rrule.html

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

Итак, кто-нибудь знает, где найти алгоритм для «расширения событий повторения»?

предпочитает объектив-c, но Java и языки одинаковы. (Я попытался взглянуть на Sunbird, но не смог проанализировать)

Пожалуйста, сообщите!

Катсого

ответ

3

Любой причина, почему вы не спросите Google Calendar, чтобы расширить его для вас? По общему признанию, это означает больше данных, но, по крайней мере, вы узнаете, что у вас есть те же результаты, что и в Google Calendar.

Вы можете использовать ical4j, но у меня лично были некоторые проблемы с реализацией, особенно с точки зрения его использования, используя часовой пояс системы по умолчанию.

(В общем, мой совет будет заключаться в том, чтобы избежать написания приложения для календаря вообще - календарно кошмарно сложно. Любая причина написания замены для календаря iPhone? «Желание узнать о календаре» - вполне обоснованная причина, хотя вы в основном обнимаете безумие в этот момент.)

+0

Благодарим вас за комментарий Jon! Ну, причина для решения вопроса о расширении повторяющегося события на стороне iPhone заключается в том, что приложение. необходимо поддерживать локальное создание события повторения. Кроме того, он должен поддерживать автономные функции календаря. Два требования вместе создают неприятное локальное расширение событий повторения ... Я вижу некоторые приложения для календаря iPhone, поддерживающие эту функциональность, интересно, как это сделали создатели этих приложений. Katsumi – Katsumi

+0

@ Katsumi: Это справедливо. Может быть, есть библиотеки, которые поддерживают это, что вы можете использовать из Objective-C, но это далеко за пределами моей компетенции. Все, что я знаю, это то, что это ужасно сложная область :( –

+1

+1 для «обнимающего безумие» :) –