从其他应用程序访问Safari书签

KPM*_*KPM 13 safari macos bookmarks syncservices icloud

我想知道如何从Mac OS X上的另一个Cocoa应用程序访问Safari书签,以一种安全可靠的方式.

您可能知道,浏览Safari书签有两种常见的机制:

  • 要么阅读Safari的Bookmarks.plist文件
  • 或使用SyncServices API.

但是,第一个是沙盒禁止(通过App Store分发是强制性的),第二个是自Mac OS X 10.7 Lion以来不推荐使用的.

我相信Apple弃用了SyncServices而支持iCloud同步,但我找不到任何允许访问书签的iCloud API(1).

有什么暗示在哪里看?Native Cocoa是首选,但欢迎使用任何不推荐使用的沙盒兼容解决方案.

谢谢.

(1)并且,老实说,通过互联网(因此需要互联网连接)在机器上检索同一台机器上的东西似乎......尴尬 - 但是,如果它是至少那样的方式将是一个潜在可能.

Tim*_*Tim 4

即使在沙箱中运行时,如果您明确请求用户同意,您也可以读出书签 plist 文件:显示一个指向 plist 目录的打开面板并存储您从中收到的安全范围书签。我这样做了,我的应用程序并没有因此被拒绝(而是因为其他事情)。