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

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

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

【问题讨论】:

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


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

      • 是的,我知道了,但是他们如何沟通?现在我们必须对我们的应用程序进行沙箱处理,这绝对不能再接受了。
      • 抱歉,在这方面我并不清楚这个问题。 Safari 文档相当清楚扩展可以做什么。事实上,如果我没记错的话,Safari 扩展是文件夹,所以你应该可以查看源代码。
      猜你喜欢
      • 2017-02-17
      • 1970-01-01
      • 2011-05-19
      • 1970-01-01
      • 2011-06-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多