带有 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检查iPhone手机App运行的Html页面