4

我试图了解1Password之类的应用程序如何出现在 Mac App Store 上并附带 Safari 扩展程序(最重要的是,扩展程序如何与应用程序通信),因为我也想做同样的事情。本机应用程序是否将服务器作为 safari 扩展调用的子进程运行?

我想知道是否有可能做到这一点并且仍然对 Mac App Store + Sandboxing 友好。

4

2 回答 2

4

1Password 使用代理在 Mac 应用程序和 Safari 扩展程序之间进行通信。代理很可能是一个小型服务器进程,可以接收来自扩展的 RESTful 调用。这种机制允许在所有不同的扩展(Safari、Chrome、Firefox 等)、客户端和主数据库之间进行同步。

顺便说一句,Safari 扩展程序不再由 1Password 应用程序直接安装。相反,您会被定向到包含 Safari 扩展程序下载的网页,从而使应用程序沙盒友好。

于 2011-09-29T02:07:33.583 回答
0

我相信这是一个常规.app,其中有一个 Safari 扩展作为资源。

该应用程序将在应用程序启动时检查是否存在 Safari 扩展程序,如果在默认位置找不到它,它将提示用户安装它。如果用户选择安装它,应用程序会将扩展复制到 Safari 扩展文件夹。

于 2011-09-28T20:40:30.673 回答