bar_1

contents_map

2018年8月29日水曜日

"SafariBookmarksSyncAgentが予期しない理由で終了しました" の修正方法

いつのタイミングか忘れてしまったが, 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を作り直せばよい:
  1. Safariを起動し, ブックマークをHTML形式で書き出す
  2. システム環境設定 から iCloud を選択し, 同期の項目: Safari のチェックを外す
  3. Safariを終了してから, ターミナルかFinderからフォルダ~/Library/Safariにある Bookmarks.plist を, 適当に改名(削除)する
  4. Safariを起動して, メニューの ファイル > 読み込む... > ブックマークのHTMLファイル から, 前のステップで書き出しておいたHTML形式のブックマークを読み込む
これで SafariBookmarksSyncAgent のエラーは出なくり, ブックマークの追加もできるようになる.
なおこの状態では, iCloudでSafariのブックマークとリーディングリストの同期はされない. 同期したい場合はお好みでiCloudの同期のチェックを入れ直せばいい.

0 件のコメント:

コメントを投稿

何かありましたら、どうぞ: