PluginsLoader可以为你的macOS上的程序加载第三方插件~
给开发者和用户的说明
假设你有个名为example.app
的程序在/Applications
目录下,为了安装 PluginsLoader ,你需要在terminal里做以下事情
$ # Installation of PluginsLoader $ cp dist/PluginsLoader.dylib /Applications/example.app/Contents/MacOS $ mkdir /Applications/example.app/Contents/MacOS/Plugins $ mv /Applications/example.app/Contents/MacOS/example /Applications/example.app/Contents/MacOS/exampleApp $ cat << EOF > /Applications/example.app/Contents/MacOS/example #!/bin/bash DYLD_INSERT_LIBRARIES=/Applications/example.app/Contents/MacOS/PluginsLoader.dylib /Applications/example.app/Contents/MacOS/exampleApp EOF $ chmod 775 /Applications/example.app/Contents/MacOS/exampleApp
到这里,就完成了PluginsLoader对example.app的安装,若需要给example2.app安装的话,请对应更改以上代码的路径
接下来是安装插件,这里以给Maria安装 B站下载链接转换 的插件(MariaBilibili)为例子
$ # Installation of MariaBilibili $ cp MariaBilibili.dylib /Applications/Maria.app/Contents/MacOS/Plugins $ cp MariaBilibili.plist /Applications/Maria.app/Contents/MacOS/Plugins
至此,MariaBilibili就安装完了,记得重新启动程序让PluginsLoader生效
重启之后,在程序的Menu中会增加 PluginsLoader的项目
直观的目录层级如下
给开发者的说明
如果你希望使用PluginsLoader作为管理工具的话,你的插件需要满足以下条件
必须要有
- PluginsName.dylib
- PluginsName.plist
这两个文件
其中,PluginsName.dylib
是将被注入应用程序的动态链接库
PluginsName.plist
则包含了这个插件的信息
PluginsName.plist必须包含的key如下
- PluginsName
- PluginsVersion
可选的key是
- PluginsToolTip
上文中的MariaBilibili的plist文件如下,
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>PluginsName</key> <string>哔哩哔哩链接转换</string> <key>PluginsVersion</key> <string>v1.0</string> <key>PluginsToolTip</key> <string>解析B站下载链接</string> </dict> </plist>
最后,欢迎提issue/pr~
Github repo, PluginsLoader