我看到每个cfx tools总是使用自己的minVersion和maxVersion生成xpi . 但是,这些仅限于SDK兼容的版本,例如SDK 1.14仅适用于FF 21 - 25.0a1,SDK 1.17仅适用于FF 26 - 30.我的问题是:
-
每次新版本发布时,是否需要使用新SDK打包我的扩展程序?
-
如何在将来维护和更新我的分机? Addon Developer Hub是否提供了为多个SDK版本提交相同扩展名的方法?我试着环顾四周但是没有内置SDK的版本't find a way to submit multiple versions. I want to make FF 21 as the minimum version, since that' . 我的扩展程序目前使用SDK 1.14和SDK 1.17进行编译,仅进行修饰(语法)调整 .
2 回答
开发人员中心允许您选择加载项兼容的Firefox版本 . 这只是setting the minVersion and maxVersion in the install.rdf的GUI . 只要你不知道你使用哪个版本的SDK,因为正在运行的SDK的版本由用户浏览器上的版本决定 .
很难找到模块特定的兼容性(您可以随时转到特定模块的文档并查看编辑历史记录),但请查看SDK API Lifecycle以了解可以使用哪些模块 . 一些值得注意的例子是:
new UI modules需要FF29,它们的一些功能需要FF30 .
widget module从FF 29开始不推荐使用,由上述代替 .
处理上述内容以实现向后兼容的一种方法是执行以下操作:
所以,要明确:
除非您要使用新模块,否则使用哪个版本的SDK无关紧要 .
不,你不应该制作多个版本的插件 . 如果要为新浏览器使用新模块,请按照上面的代码示例操作 .
确实,您必须使用有效的existing application versions,但通常不需要重新打包您的插件,除非SDK中的更改直接影响您的插件 .
原因是默认情况下不会检查最大目标版本 .
来自install manifest documentation:
还有一个recommendation for choosing version ranges .
从技术上讲,您可以使用通配符,但文档提到了几次AMO验证并可能拒绝不正确版本的插件 .