PluginsLoader for macOS

PluginsLoader可以为你的macOS上的程序加载第三方插件~

pluginsloader-screenshot-2

给开发者和用户的说明


假设你有个名为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-screenshot-1

pluginsloader-screenshot-2

直观的目录层级如下

pluginsloader-screenshot-3

给开发者的说明


如果你希望使用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

Leave a Reply

Your email address will not be published. Required fields are marked *

1 × 3 =