2011年8月2日火曜日

org-mode=>iPad2,iPhone

 calfw-orgを導入したらGoogle Calendarにorgの予定を同期したくなってしまった。calfwがEmacsで動くにしてはあまりにもかっこよかったからである。元々、カレンダーは月単位の升目表示が好みということもある。
 パソコンでできるならiPadやiPhoneのカレンダーに同期したくなってしまったのだ。iPhoneはSnapCalだけど(これも月表示で升目に予定が表示されるから)。
 Calnedar for iPadやSnapCalは Google Calendar から同期できるからorgから Google Calendar へ同期できれば、OKと考えわけだ。


 すぐに思いついたのはDropboxを使う方法だった。
 Dropboxにorgからexportしたicsファイルを置いて、それを外部リンクとして Google Calendar に同期する。 Google Calendarは「他のカレンダー」としてicsファイルの取り込むことができる――はず。
 楽勝。
 そう思ったのだが、思わぬ伏兵があらわれた。
 Google Calendarがicsファイルの文字コードをUTF-8として認識してくれない……。これにはまいった。そういう話があるということは知っていたのだが、なんとかなるだろう、とたかをくくっていた。UTF-8だめ。EUCだめ。ShifJISだめ。JISだめ。UTF-8をエスケープしてもだめ。
 袋小路にはいってしまった。Google Calendar側で対応してくれなければ、無理だ。そうでないなら自分でサーバを立ち上げるか……(char-setを与えてやればよいらしい)。


 ふと他の方法(Google Calendar経由以外)で、iPadへ同期できないだろうか、と考えた。で、設定を見ていたらなんと、Dropboxのicsファイルを直接、読みこめるじゃないか!

 設定>メール/連絡先/カレンダー>アカウントと追加>その他>照会するカレンダーを追加
※ずいぶん前からDropbox側の仕様変更によりicsファイルの参照ができなくなってしまっている(2017/06/02記)

 で、なんと簡単にDropbox経由でicsファイルをiPadへ取り込めてしまった。リードオンリーだけど、この場合、その方が都合がいい。SnapCalにはそういう機能はないみたいだけど、iPhoneのCalendar経由でicsファイルの予定を取り込むことができた。唯一の欠点はすべての予定がGoogle Calendarに集まらない、ということだけど、どうせパソコンからはGoogle Calendarではなく、org-modeを使うから無問題だ。
 Google Calendar=>org-modeはcalfwで可能という話だし。最悪、なんとかなるでしょw