【技巧】SBSettings开关使用的一点摸索

网友提问:如何让【QuickDo】调用【SBSettings】的勿扰模式开关。笔者稍稍摸索了一下,发现案例比较经典,把过程写下来,希望能对读者有些启发。

背景知识:

1.  SBSettings Toggle

SBSettings Toggle是【SBSettings】调用的各类系统功能(或者插件功能)的开关,如下图。【Activator】 和 【QuickDo】都提供对这些开关的支持,并且可以脱离SBSettings进行调用。

SBSetting Toggle
  1. 开关被安装在//User/Library/SBSettings/目录下,//User/Library/SBSettings/Themes 对应图标主题,//User/Library/SBSettings/Toggles 对应各个开关主程序。

比如:DoNotDisturb开关,对应的图标主题是//User/ Library/SBSettings/Themes/Default/DoNotDisturb/on.png 和 off.png(Default 对应主题名称);对应的开关文件是//User/Library/SBSettings/Toggles/DoNotDisturb/Toggle.dylib 其中的Toggle.dylib程序文件在每个开关里名称都是一样的。

*主题图标为非必要条件,没有也可正常运行。

  1. 【QuickDo】和【Activator】之间发生了一些不和谐的事情。

案例分析:

根据上面的背景材料和读者提出的要求,首先下载DoNotDisturbToggle的deb文件,然后用Undeb解压(也可以用7z)。我们需要做的就是把图标主题文件和程序文件提取出来,手动拷入//User/ Library/SBSettings/ 目录。

可是当我们解压文件,将“SBSettings”目录拷入手机对应目录并注销主屏幕后却发现,根本无效。

那么问题出在哪里?

仔细观察文件包,发现在/Library/MobileSubstrate/DynamicLibraries/下还有两个文件,DoNotDisturbToggle.dylib 和 DoNotDisturbToggle.plist,而//User/Library/SBSettings/Toggles/DoNotDisturb/Toggle.dylib 文件大小有问题。

怎么办?

我干脆安装了一次。然后,通过【iFile】又有新发现。

打开目录,发现在iFile中,Toggle.dylib的文件名是蓝色的。

blue file name

蓝色表示这是个“链接”而不是文件本身,那么文件在哪里?点击文件名后方的蓝色箭头。

target

原来如此!

于是笔者删除插件,将提取出的DoNotDisturbToggle.dylib 改名为Toggle.dylib 存入//User/Library/SBSettings/Toggles/DoNotDisturb/,重置主屏幕后目的达到,测试成功!

相关阅读:

[1]   【undeb】windows下的deb解包软件