いつのタイミングか忘れてしまったが, Safari を起動するとエラーメッセージが出るようになってしまってい, ブクマ登録もできなくなってしまった. これは
~/Library/Safari/Bookmarks.plist
を作り直すことで, 直すことができる.
この記事では, 当該現象と原因, 修正方法を述べる.
現象
次のようなエラーメッセージが出る場合がある:
- Safari起動時に,
SafariBookmarksSyncAgentが予期しない理由で終了しました。
アプリケーションを再度開く場合は、"再度開く"をクリックしてください。詳細を確認してAppleにレポートを送信する場合は、"レポート"をクリックしてください。
というポップアップウィンドウが表示される 無視
を押して使用を継続しても, ブックマークの追加をしようとすると,今はブックマークを変更できません。
ブックマークは現在同期中のため変更できません。数分後にやり直してください。
というポップアップウィンドウが表示される. 追加もできない.
原因
エラーの原因の解析の方法は:
- 前者エラーメッセージのポップアップウィンドウのレポートボタンを押してレポートを見ること
- Safariのブックマークが保存される.plistファイル
~/Library/Safari/Bookmarks.plist
を目視で確認すること
の2つであった.
この
Bookmarks.plist
の内容はバイナリ形式になっている. ターミナル.appやiTermのコマンドラインから, コマンド plutil -p plistファイル名
を使えばJSON形式で確認できる.
当該エラーの発生する原因は,
~/Library/Safari/Bookmarks.plist
のハッシュの項目 Sync=>ServerID
の値が壊れている (icloud.comを含むURL状の値が長すぎる) 状態になってしまっていることにある.
この値は文字列であり,
AppleID(メールアドレス)@pXXX-bookmarks.icloud.com/XXX/bookmarks/???/???/???.xbel
というような値となっている. ここで, XXX
は数字, ???
は何らかの文字列である.修正方法
W/Aは以下のような手順で, iCloudの同期をオフにしてからBookmarks.plistを作り直せばよい:
- Safariを起動し, ブックマークをHTML形式で書き出す
システム環境設定
からiCloud
を選択し, 同期の項目:Safari
のチェックを外す- Safariを終了してから, ターミナルかFinderからフォルダ
~/Library/Safari
にあるBookmarks.plist
を, 適当に改名(削除)する - Safariを起動して, メニューの
ファイル
>読み込む...
>ブックマークのHTMLファイル
から, 前のステップで書き出しておいたHTML形式のブックマークを読み込む
これで
SafariBookmarksSyncAgent
のエラーは出なくり, ブックマークの追加もできるようになる.
なおこの状態では, iCloudでSafariのブックマークとリーディングリストの同期はされない. 同期したい場合はお好みでiCloudの同期のチェックを入れ直せばいい.
0 件のコメント:
コメントを投稿
何かありましたら、どうぞ: