Краткого введениеАнонсы: Повторяющиеся события не отображаются правильно в IOS
Повторяющиеся события в моем PHP сгенерированного файла Анонсы не правильно повторялись с приложениями IOS. Они действительно повторяются в Outlook 2010 и Календаре Google, но не в IOS 8.1 (iPhone 5S и iPad 2).
Деталь
следующий файл генерирует файл календарь, пригодный для подписки из приложений, таких как MS Outlook и Google Calendar. Файл содержит VTIMEZONE и один VEVENT, предназначенный для повторения каждой пятницы с 7 по 28. ноябрь 2014 года, всего четыре повторения.
файл Анонсы: http://www.elitesystemer.no/mycal_stack_example.php (полный код ниже)
В обеих моем мобильном iУстройстве (IOS 8.1) это событие происходит только один раз; 7. ноябрь 2014. Это странное поведение распространяется на собственное приложение календаря, а также на приложение «Календарь недели» (сайт: http://weekcal.com).
Файл отлично работает с MS Outlook 2010 и Google Calendar, но не с IOS. К сожалению, я не смог найти эквивалентную проблему на форумах Apple. Я также не могу тестировать iDevice с прежней версией ОС, а также с другим смартфоном в то время.
Я протестировал файл в онлайн-модераторах iCalendar, таких как http://icalvalid.cloudapp.net/ и http://severinghaus.org/projects/icv/ - отличные результаты без предупреждений/ошибок.
Календарь код генерируется из PHP
<?php
//set correct content-type-header
header('Content-type: text/calendar; charset=utf-8');
header('Content-Disposition: inline; filename=mycal_stack_example.ics');
?>
BEGIN:VCALENDAR<?echo "\r\n";?>
VERSION:2.0<?echo "\r\n";?>
METHOD:PUBLISH<?echo "\r\n";?>
CALSCALE:GREGORIAN<?echo "\r\n";?>
PRODID:-//Elite Systemer//Ver 1.6//NO<?echo "\r\n";?>
BEGIN:VTIMEZONE<?echo "\r\n";?>
TZID:Europe/Oslo<?echo "\r\n";?>
BEGIN:DAYLIGHT<?echo "\r\n";?>
DTSTART:19810329T020000<?echo "\r\n";?>
RRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU<?echo "\r\n";?>
TZNAME:CEST<?echo "\r\n";?>
TZOFFSETFROM:+0100<?echo "\r\n";?>
TZOFFSETTO:+0200<?echo "\r\n";?>
END:DAYLIGHT<?echo "\r\n";?>
BEGIN:STANDARD<?echo "\r\n";?>
DTSTART:19961027T030000<?echo "\r\n";?>
RRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU<?echo "\r\n";?>
TZNAME:CET<?echo "\r\n";?>
TZOFFSETFROM:+0200<?echo "\r\n";?>
TZOFFSETTO:+0100<?echo "\r\n";?>
END:STANDARD<?echo "\r\n";?>
END:VTIMEZONE<?echo "\r\n";?>
BEGIN:VEVENT<?echo "\r\n";?>
UID:[email protected]<?echo "\r\n";?>
DTSTART;TZID=Europe/Oslo:20141107T140000<?echo "\r\n";?>
DURATION:PT60M<?echo "\r\n";?>
RRULE:WKST=MO;FREQ=WEEKLY;INTERVAL=1;BYDAY=FR;UNTIL=20141128T150000<?echo "\r\n";?>
SUMMARY;LANGUAGE=no:Friday<?echo "\r\n";?>
DESCRIPTION;LANGUAGE=no:Oppgave: Friday\n<?echo "\r\n";?>
LOCATION;LANGUAGE=no:Timenesveien 33<?echo "\r\n";?>
BEGIN:VALARM<?echo "\r\n";?>
TRIGGER:-PT15M<?echo "\r\n";?>
ACTION:DISPLAY<?echo "\r\n";?>
DESCRIPTION:Reminder<?echo "\r\n";?>
END:VALARM<?echo "\r\n";?>
END:VEVENT<?echo "\r\n";?>
END:VCALENDAR
Значение по умолчанию зависит от вашей даты начала. – mc0e