14

Mac OS X 上の別の Cocoa アプリケーションから Safari のブックマークにアクセスする方法を知りたいと思っていました。

ご存じのとおり、Safari のブックマークを取得するには、次の 2 つのメカニズムが一般的でした。

  • SafariのBookmarks.plistファイルを読む
  • または SyncServices API を使用します。

ただし、前者はサンドボックスによって禁止されており (App Store からの配布には必須)、後者は Mac OS X 10.7 Lion から廃止されています。

Apple は iCloud 同期を優先して SyncServices を廃止したと思いますが、ブックマークへのアクセスを許可する iCloud API が見つかりません (1)。

どこを見るべきかについてのヒントはありますか?ネイティブの Cocoa が推奨されますが、非推奨ではない、サンドボックス対応のソリューションであれば大歓迎です。

ありがとう。

(1) そして、正直なところ、同じマシン上の何かをマシン上で取得するためにインターネットを経由する (したがってインターネット接続が必要になる) のは... ぎこちなく思えます — でもまあ、それが進むべき道であれば、少なくともそうなるでしょう可能性。

4

1 に答える 1

4

ユーザーに明示的に同意を求める場合は、サンドボックスで実行しているときでも、ブックマークの plist ファイルを読み取ることができます。plist ディレクトリを指す開いているパネルを表示し、そこから受け取ったセキュリティ スコープのブックマークを保存します。私はこれを行いましたが、アプリはこれで拒否されませんでした(ただし、他の理由で)。

于 2012-08-15T17:28:38.387 に答える