2012年9月27日木曜日

10.6のiCloud同期で大はまり...

取りあえずiPhoneと自宅の環境はiCloudなので問題ないのだけれど、会社のiMacがどうしてもLion以上に出来ない。
出力機の関係でApple Talkが切り捨てられた10.6もきつかったけど、Rosettaがなくなった10.7には現時点ではどうしても上げられない。

まぁ、プライベートな情報だし、会社のMacに入れておかなくても良さそうなもんだが、仕事上メールを多用するに当たっていちいちiPhoneのアドレス帳で調べながら作業するのも効率が悪いので"アドレスブック"のデータも同期しようと思い立つ。

"も"って言うのは、実はスケジュールだけは何時でも確認したかったのでiCloudに移行したあとすぐにiCalだけはiCloudと同期が取れるようにセットアップしてあったのだ。

iCal(Snow Leopard)のiCloud同期は意外と簡単で、iCloudに接続してるLion Macの"~/Liblary/Calenders/xxxxxx.caldav/"以下にある"info.plist"ファイルから接続しているサーバー情報の記述


<key>PrincipalURL</key>
<string>https://p[xx]-caldav.icloud.com:443/[xxxxxxx]/principal/</string>
の部分を探しだし、iCalの環境設定から"CalDAV"アカウントを追加するだけでiCloud上のデータを読み込むようになる。
(ちなみに"[xx]"の部分は数字、"[xxxxxxx]"はユーザーIDになっていてこれも数字。)

で、本題の"アドレスブック"の同期も、基本的には同じ要領で同期させるんだけど、これがなかなか一筋縄ではいかなかった。

"アドレスブック"の同期情報はiCoud同期しているMacの "~/Library/Application Support/AddressBook/Sources/" 以下の "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" といった長い英数字が羅列したフォルダ内にある "Configuration.plist" というファイルを参照した。

後半の方にある"principalInfo"というkeyの後に記述があって、
<key>DAV::principal-URL</key>
<string>https://[Account]%40mac.com@p[xx]-contacts.icloud.com/[xxxxxxx]/principal/</string>
※"iCal"と同様、"[xx]"の部分は数字、"[xxxxxxx]"はユーザーIDになっていてこれも数字。
の部分がサーバー情報。

"iCal"の情報と比べてわかるように、"アドレスブック"はURLの前に、"@"で区切ってアカウントを記述しているのだが、この"iCloud"のアカウントの記述方法が一つ目のポイントで、"アカウント"と"サーバー名"の区切り文字に"@"を利用している為、"Apple ID"のメールアドレスに含まれる"@"をそのまま記述できず、英字記号を16進数で表した"%40"で表記している。

で、実際のセットアップ時もこの表記方法が必要で、"アドレスブック"の環境設定から"CardDAV"のアカウントを追加する際"ユーザー名"欄には
<アカウント>%40me.com:<パスワード>
の形式で、"@"を"%40"にし、コロン(:)で区切ってパスワードの入力も必要になる。
(なぜか、その下の"パスワード"欄にも再度入力が必要。)

もう一つセットアップのポイントは、正常にセットアップされても"404エラー"が表示されること。w
逆に、失敗する場合は長い間接続トライしていて、「接続出来ません」のメッセージになる。

取りあえず接続出来て認証が通れば、アドレスブックに"CardDAV"アカウントとしてiCloudがセットアップ出来ます。

一番はまったのはこの後で、問題なくリアルタイムに同期しているのだけれど、同期する度にどんどんアドレスの件数が増えていく...。(T_T)
全部ではないのだが、特定のアドレスだけが同期する度倍増していってしまうのだ。

350件ほどしかないアドレス帳が数分後には1,000件ほどにまで膨れあがっていくのは、放置していられないので、ググって調べてみると同様の事例が報告されている。

どうやらプロフィール画像の部分に画像が張り付いているデータを同期すると2重同期していくとのこと。
これは画像を削除する以外対策が無いようだったので、せっせと(といっても数件だけだけど)画像を消し込んでいったんだけど、これがまた上手くいかない。

リアルタイムに同期している為、1件分のプロフィール編集している間にどんどん同期が進んでいく。せっかく消した画像がiCoudからまた画像入りのデータに差し替えられる。
といった状況で、まったく進んでいかない。(T_T)

結局、"CardDAV"アカウントを削除してローカルデータを消去。
自宅のデスクトップにリモート接続してオリジナルアドレスデータから完全に画像を消去してiCloud同期。

その後再度会社のアドレスブックに"CardDAV"アカウントを追加し直して全てのアドレスブックが正常に同期するようになりました。

大した作業でもないはずなのに、なんだか妙に疲れた...。(′Д`)




0 件のコメント :

コメントを投稿