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

Posted

技术标签:

【中文标题】带有 Safari 扩展的 Mac App Store 应用程序【英文标题】:Mac App Store app with Safari Extension 【发布时间】:2011-09-28 20:35:15 【问题描述】:

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

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

【问题讨论】:

【参考方案1】:

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

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

【讨论】:

【参考方案2】:

我相信这是一个普通的.app,其中包含一个 Safari 扩展作为资源。

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

【讨论】:

是的,我知道了,但是他们如何沟通?现在我们必须对我们的应用程序进行沙箱处理,这绝对不能再接受了。 抱歉,在这方面我并不清楚这个问题。 Safari 文档相当清楚扩展可以做什么。事实上,如果我没记错的话,Safari 扩展是文件夹,所以你应该可以查看源代码。

以上是关于带有 Safari 扩展的 Mac App Store 应用程序的主要内容,如果未能解决你的问题,请参考以下文章

Mac safari 卸载插件扩展

Mac 上的“没有 Safari 扩展证书”错误

如何用MAC上的Safari检查iPhone手机App运行的Html页面

Mac命令行打开APP

Mac App Rejection - Safari 的临时例外授权密钥

推荐一个 Safari 和 Chrome 浏览器扩展:Momentum