带Safari扩展的Mac App Store应用程序

时间:2011-09-28 20:35:15

标签: cocoa safari-extension mac-app-store sandbox

我正在尝试了解像1Password这样的应用程序如何在Mac App Store中加入Safari扩展程序(最重要的是,扩展程序如何与应用程序通信)因为我喜欢做同样的事。 本机应用程序是否运行服务器作为由safari扩展调用的子进程?

我想知道是否可以这样做,仍然是Mac App Store + Sandboxing友好。

2 个答案:

答案 0 :(得分:4)

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

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

答案 1 :(得分:0)

我认为这是一个常规.app,其内部有一个Safari扩展作为资源。

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