如何打包未签名的Firefox WebExtension?

时间:2016-10-17 08:20:39

标签: firefox firefox-addon firefox-webextensions

我正在尝试开发一个扩展程序,以便在Mac上运行FirefoxDeveloperEdition(它不需要签名)。

我关注了#34;你的第一个WebExtension"使用"加载临时插件"时,指南和一切正常。但是当我尝试打包它并使用"安装附件从文件"安装它时,它显示"这个附加组件无法安装,因为它似乎已损坏"。 enter image description here

我压缩所有文件(borderify.js,manifest.json,图标,没有容器文件夹)并将后缀更改为.xpi。这是正确的包装方式吗?一些答案提到应该有一个" install.rdf" ?,如果是这样,我该如何创建该文件?似乎没有关于文档的指南。

更新

我已尝试使用mac内置"压缩n项",xpi file,也尝试使用web-ext buildxpi file。他们都得到了相同的错误提醒。

更新2

我在xpinstall.signatures.required中设置了about:config false。

我的firefox版本是:51.0a2(2016-10-17)(64位)

是否有人能够加载未签名的xpi?它是Firefox的bug吗?还是只是我?

1 个答案:

答案 0 :(得分:7)

如果您要安装 .xpi ,则需要提供ID。 将其添加到manifest.json根目录

"applications": {
  "gecko": {
    "id": "borderify@mozilla.org",
  }
}

没有特别详细记录,特别是this页面告诉“在Firefox中安装附加组件时会为其分配一个随机生成的临时ID。”但是,这似乎仅适用于安装about:debugging - xpi安装仍需要ID。它可能是任何字符串,因为无论如何你都在DevEdition上运行它并禁用了检查。

不言而喻,这对Firefox的发布不起作用。

P.S:Ctrl-Shift-J将打开一个浏览器控制台,该控制台通常包含有关扩展程序安装错误的其他信息 - 下次可能有用。