我在 linux 上为 Firefox 创建了一个 NPAPI 浏览器插件。我通过将共享库复制到用户的配置文件插件目录中来安装插件。我能够在 OS X 上构建共享库,但我不熟悉如何创建 Firefox/Chrome/Safari 可以使用的插件包。如何创建一个可以与 OS X 上的浏览器一起使用的插件包?
2 回答
您还可以查看 FireBreath,它负责为您在 linux、windows 和 mac 上构建插件的抽象。 http://firebreath.googlecode.com
要了解的主要内容是您需要创建特定类型的二进制文件;我不确定它是否真的是 dylib,但我发现最简单的方法是使用 xcode 创建它。
FireBreath 使用 cmake 在 xcode 中创建一个 Application Bundle 项目(这就是 cmake 所支持的全部),然后使用 python 脚本将其转换为正确的类型。app bundle 的 reftype 是“compiled.mach-o.executable”,plugin bundle 的 reftype 是 wrapper.cfbundle。
您可以在此处找到我编写的用于转换的代码:http ://code.google.com/p/firebreath/source/browse/cmake/patch_xcode.py
列出的 32 位 Internet 插件(与 Mac OS X 上所有主要浏览器兼容的 npapi 插件)的文件类型是“Mach-O bundle i386”。该文件位于 ~/Library/Internet Plugins/.plugin/Contents/MacOS
希望有帮助