2016-10-17 67 views
1

我试图开发一个扩展,以在Mac上运行FirefoxDeveloperEdition(不需要签名)。如何打包未签名的Firefox WebExtension?

我遵循“您的第一个WebExtension”指南,使用“加载临时加载项”时一切正常。但是当我尝试打包并使用“从文件安装附加组件”进行安装时,它显示“此附加组件无法安装,因为它似乎已损坏”。 enter image description here

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

UPDATE

我使用Mac内置的 “压缩n项”,xpi file尝试,使用web-ext buildxpi file也试过。它们都以相同的错误警报结束。

更新2

我已经设置​​假的about:config

我的Firefox版本是:51.0a2(二〇一六年十月十七日)(64位)

是否有任何人能够加载未签名的XPI?它是一个Firefox错误?还是仅仅是我?

+0

* *究竟是*,你在创建* .zip *文件吗? – Makyen

+0

可能相关:[尝试在Firefox中安装我的加载项的.xpi文件时,[附加组件“似乎已损坏”)(http://stackoverflow.com/q/39854127/3773011)。 – Makyen

+0

如果没有你的* .xpi *文件,我们没有办法回答这个问题,而不是猜测问题的可能性。 – Makyen

回答

4

如果您想要安装.xpi,您需要提供一个ID。 添加到您的manifest.json根

"applications": { 
    "gecko": { 
    "id": "[email protected]", 
    } 
} 

它不是特别有据可查的,特别是this页告诉“附加当你在Firefox中安装将被分配一个随机生成的临时ID。”但是,这似乎只适用于安装about:debugging - xpi安装仍需要一个ID。它可能是任何字符串,因为你已经在DevEdition上运行它,无论如何都禁用了检查。

不言而喻,这不会在发布Firefox。

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

相关问题