Appleの「日本の祝祭日」カレンダーがおかしくなってる

11/3あたりから、appleが以下のURLで提供している「日本の祝祭日」カレンダーのエントリが英語表記になり、かつ、祝祭日の日付やエントリも所々おかしい状況になっています。

http://www.apple.com/downloads/macosx/calendars/japaneseholidaycalendar.html



(天皇誕生日が12/24だったり、クリスマスが祝日だったり、、、、)

iPhoneのカレンダーで日本の祝日を表示する方法として、上記カレンダーの参照は多くのBlogで紹介されているため、影響を受けている方は非常に多いのではないでしょうか。

いずれは、修正されるでしょうが、取り急ぎの対処方法として、Googleが提供している「日本の祝日」カレンダーを利用する方法をご紹介します。

非常に簡単です。iPhoneのSafariで以下のURLを開いて、祝日カレンダーを「照会」するだけです。

webcal://www.google.com/calendar/ical/ja.japanese%23holiday%40group.v.calendar.google.com/public/basic.ics

appleの提供している「日本の祝祭日」カレンダーについては、一時的に非表示にするか、同期エントリそのものを削除すればよいでしょう。

以下、参考リンクです。

Appleサポートコミュニティ

Japanese Holidays Calendarが英語のみの表示になった?

iPhoneちゃんねる

iPhoneのカレンダーで祝日が突然英語表記に!その対処法は

酔いどれオヤジのブログwp

【iPhone,iPad】カレンダーの祝日表記が英語になる問題

crocodile notebook

iOSで日本の祝日が英語表記になってるので仮のカレンダーを公開しています

 

2012/11/8 追記

Apple提供の「日本の祝祭日」カレンダーの不具合修正され、復旧したようです。

 

.Sched3 リリース (.Sched2からの更新内容)

.Sched3ですが、ようやくAppleのレビューも終わり、本日3/28リリースしました。(AppStoreへの反映にはもう少し時間がかかるかも。)

 

メジャーバージョンアップ記念ということで、期間限定セールします!!

通常価格 500円のところを170円にて!

 

紹介動画はこちら



 

 

以下、.Sched 3 の.Sched2からの機能差分情報です。

 

スライドナビゲーションメニューを採用

従来のオーバーレイメニューを廃止し、左右にスライドでメニューを表示するようにしました。(Facebookや、Pathなどのアレです。)これに伴い、月送りは、縦方向固定となりました。


日表示モード

ドラッグで予定時刻の変更が可能な日表示モードを登載しました。



予定をタップすると、詳細情報が表示されます。詳細情報画面では、タイトル部タップで「タイトルのクイック修正モード」や、左右にスライドで「アクションボタン表示」、「場所指定がある場合は場所をタップでマップアプリを起動」、「タイトルタップでタイトルの簡易修正モード」などの機能を盛り込んでます。

言葉で説明してもよくわからないかと思いますので、上の動画を見ていただければと思います。



 

ちなみに、従来のリスト表示も残しており、画面下部のボタンで日表示モードと切り替えできます。リスト表示も操作系を見直しています。

 

日時表示フォーマット見直し

全体的に日時表示フォーマットを見直しました。

基本的には、iOS本体の言語や日時フォーマットに従った表示となります。24Hや12Hの切り替えも、アプリ内切り替えオプションを排除し、iOS本体の設定に依存する形としました。

唯一、月タイトルや、週ラベルの表示言語については、「英語」か「iOS本体のシステム設定言語」を選択可能な様になっています。

 

その他

カレンダー色変更のカラーピッカーを更新しました。

Yomoappの中の方の作成された、iOS用ColorPickerを使わさせてもらいました。ありがとうございます!)

アイコン変更

設定項目の見直し/再配置

右側メニュー下部に、ランダムで”Words of wisdom”を表示

パフォーマンスチューニング

バグ修正(いろいろ)

あと、内部的には、ARC化、deprecatedなmethod対応、iOS5.1対応などなど。

 

さらに、無料版を再開します。(表示期間の制限をなくしました。ただし、予定の追加/修正/削除は引き続き制限されます。)

 

上記に記載していない微細な機能拡張もまだありますが、更新内容としては、おおよそこんなところです。無料版もありますので、興味をもたれた方はぜひともお試し願います。

 

既に、.Sched 4の構想も出来つつあるのですが、.Sched3として盛り込みたい機能がまだ多少残っているので、しばらくは.Sched3としてのUpdateを行なって行く予定です。

 

iPhoneのカレンダー同期その3(ExchangeとCalDAV比較)

iPhoneのカレンダー同期その1(アラート同期)iPhoneのカレンダー同期その2(繰り返し予定)につづき、iPhoneのカレンダー同期ネタ3回目、これで最後です。

前回はこちら

iPhoneのカレンダー同期その1(アラート同期)

iPhoneのカレンダー同期その2(繰り返し予定)

 

Google Calendarとの同期方式はExchange(ActiveSync)とGMail(CalDAV)の2種がありますが、この2種の同期方式の比較です。

 

Exchange(ActiveSync)

  • プッシュ同期可能(Google Calendar側の更新が即時にiPhoneに反映されます。)
  • カレンダーの色は同期されない。(iOSがかってに色を割り当てる)
  • アラームは1件しか同期されない。(しかも、iOS側で修正を行うと、Google Calendar側のアラーム情報が消える可能性あり。詳細は「iPhoneのカレンダー同期その1(アラート同期)」のエントリ参照ください。)
 

GMail(CalDAV)
  • プッシュ同期不可(フェッチ同期となります。iOS本体の設定で指定したフェッチ間隔でのポーリング同期となります。(標準カレンダーAppを起動すると同期されます。)。ポーリング処理のため、場合によってはバッテリーの消費に影響があるかも。)また、iOS->Google Calendar方向の同期もあまり早くないようです。
  • カレンダー色同期可能。
  • アラームは複数同期可能(ただし、SMSは同期されない。E-Mailは通常の「通知」としてiOSに反映されます。詳細は「iPhoneのカレンダー同期その1(アラート同期)」のエントリ参照ください。)
 

一長一短ですので、お好みでどちらか選択するしかないですね。

それぞれの設定手順はこちら を参照ください。

 

 

iPhoneのカレンダー同期その2(繰り返し予定)

前回の「iPhoneのカレンダー同期その1(アラート同期)」に続いて、今回は繰り返し予定関係です。

 

iOSのEventKitで、Google Calendarと同期した際、繰り返し予定の定義や修正がちゃんと機能するかについてExchange(ActiveSync)の場合とGMail(CalDAV)の場合で比較検証した結果です。

検証結果の表を書くのは、前回のポストでこりたので、トピックスだけ。(すみません。)

 

  • CalDAVでの、iOS  -> Google Calendar 方向の同期については、即時反映のはずだが、若干反映に時間がかかる(数分程度)。ちなみに、Exchangeの場合は、ほぼ、即時反映。(CalDAVで、Google Calendar->iOS方向の同期についてはiOSのフェッチ時間設定に依存)
  • CalDAVでの、iOS -> Google Calendar 方向の同期については、繰り返し予定修正(1件のみ修正/以降の全ての予定を修正のどちらも)で、タイトルを修正したり、削除した場合、修正/削除がGoogle Calendarに反映されないケースがある。(先に述べた通り、CalDAVの場合、同期に若干時間がかかるようだが、同期が反映される前に次の修正/削除処理を行なうと、前の反映処理の取りこぼしが発生してしまうように見受けられる。)
  • CalDAV,Exchangeに限らず、複数曜日(週あたり)指定や、複数日(月あたり)指定を伴う繰り返し予定に対し、予定の情報(タイトルなど)の修正を行い、「以降の全ての予定に反映」を行なうと、複数曜日指定や、複数日指定が解除されます。つまり、繰り返しパターンが変わってしまいます。(iOS標準のカレンダーAppや、他のiOSカレンダーと同期するAppでも同様)。内部的には、RRULEのBYDAYやBYMONTHDAYフラグが消えます。(EventKitの不具合っぽい)
 

繰り返し予定については、まだまだ、落とし穴が潜んでいそうです。引き続き検証続けます。

なんにせよ、上記を踏まえ、アプリとしてどう実装するか?非常に悩ましいところです。(現状は特にアプリ側で制限はしてません。)

続きはこちら

「iPhoneのカレンダー同期その3(ExchangeとCalDAV比較)」

 

iPhoneのカレンダー同期その1(アラート同期)

カレンダーアプリを開発してるので、まずは、そのあたりのネタを。

iPhoneのカレンダー同期について、何回かにわけて投稿します。第一回目は、アラート同期についてです。

 

iPhoneは、GoogleCalendar(Exchange(ActiveSync)、もしくはCalDAV経由)や、iCloudカレンダー等、外部のカレンダーと同期しますが、アラートの方法は外部のカレンダーによって様々な種類があります。カレンダー同期を行なった際に、これらのアラート情報がどのように同期されるか検証しました。(主としてGoogle Calendarを対象に検証)

確認ポイントとしては、

  • 複数アラートの扱い
  • E-MailやSMSのアラートはどうなる?
  • Google CalendarはExchange(ActiveSync)とGMail(CalDAV)の複数同期メソッドを持っているが、選択メソッドによって違いはでるか?
このあたりを中心に見て行きます。(基本的に、iOS5.0で確認、一部問題があった箇所についてはiOS5.1で追加確認してます。)

 

サポートするアラートアクションと複数アラートの指定可否

カレンダーアプリ種別



Google Calendarの「Pop-Up」= iCloudやカレンダーAppの「通知」のようです。

 

プロトコル/フレームワーク種別



アクションについては、呼び名が異なるのでわかりにくいですが、少なくともiOS(EventKit)では、Alarm(通知)一種類です。また、アラートとの指定可能数もそれぞれ異なります。

 

iOS(EventKit)からの同期処理

まずは、iOS(EventKit)からAlarmを指定した場合の挙動を見てみます。



Exchange(ActiveSync)経由の場合、アラートは1つしか同期されず(複数指定しても1つしか反映されない)、しかもiOS5.0環境では新規予定に複数アラートを指定するとフリーズします。(iOS5.1で修正されたようです。)

また、ここで見る限り、iOSの通知=GoogleCalendarのPop-Up です。(想像通りですが。)

 

外部カレンダーからiOSへの同期処理

次は、逆方向、外部カレンダーから、iOSへの同期処理のケースです。



以上から、以下が読み取れます。
  • Exchangeの場合、通知は1件しか同期されない
  • Exchangeの場合、Google CalendarのE-MailやSMSはiOSの通知に反映されない。
  • CalDAVの場合、Google CalendarのE-Mailは、通常のiOSの「通知」として反映される。
  • CalDAVの場合、Google CalendarのSMSは、iOSの通知に反映されない。
 

上記の通り、アラート内容は、その内容と同期プロトコル種別によって変換してiOSされてしまいますが、では、この変換されたものをiOS側で修正/更新したらどうなるか?

処理前状態を用意し、iOS(EventKit)から各種同期方式で、予定の更新処理を行なった際に、どのような振る舞いとなるか検証しました。

 

iOS(EventKit)からGoogleCalendar (CalDAV経由) への同期処理の場合



通知を追加することで、iOS側で「通知」と表示されていたE-Mailや、iOS側に表示されていないSMSが上書きされるのでは?との予想に反し、もとのアクション情報(E-MailやSMS)は維持されます(水色部分)。ただし、元E-Mailであったエントリ(iOS側で「通知」となっているエントリ)そのものを修正(時間変更)した場合には、アクションがPop-Upに変換されてしまいました(ピンク部分)。

 

iOS(EventKit)からGoogleCalendar (Exchange経由) への同期処理の場合



Exchange経由の場合は、通知を1件追加すると、Google Calendar側には通知が1件しか予定が反映されず、かつ既存の通知を上書きしてしまう結果となりました。(ピンク個所)

 

まとめると、、、、

Google Calendar 同期(Exchange経由)の場合は、
  • 通知は1件しか同期されない
  • E-Mail,SMSは同期されない
  • iOS側で通知を追加修正するとE-Mail,SMSの通知が消える。(元々ある複数のエントリが消える)
Google Calendar 同期(CalDAV経由)の場合は、
  • 複数通知の同期可能
  • ただし、SMSは同期されない
  • E-MailはiOSでは通常の「通知」として同期される。
  • (元E-Mailの)iOS側の通知を修正すると、E-MailがPop-Upになってしまう。
 

ということで、Exchange経由のアラート同期はボロボロ、CalDAVの方が若干マシといったところでしょうか。

 

ちなみに、近々リリース予定の.Sched3では、上記を踏まえ以下の仕様としています。(いずれ見直すかもしれません。)
  • Exchangeの場合は、通知指定は1件のみ
  • Exchangeの場合は、通知の修正は不可
  • CalDAVの場合は、既存の通知の修正は不可(追加/削除は可)
 

※検証結果が異なる等の情報があれば、お知らせください。

 

続きはこちら

「iPhoneのカレンダー同期その2(繰り返し予定)」

「iPhoneのカレンダー同期その3(ExchangeとCalDAV比較)」