Q1:怎么停止正在运行的tweak呢,我想做一个插件的开关。
Q2:我在App里增加了tweak插件filter.plist中 hook住的 App的BundleID,但是如果不killall SpringBoard的话,hook就没法生效。
请问各位上面的两个问题有什么解决办法吗?谢谢!
- 开关就是一个BOOL,在tweak中判断,如果YES,就执行代码,否则不执行;
- dylib会在每个进程启动时被CydiaSubstrate加载进那个进程,所以如果你hook的不是SpringBoard而只是一个App,那在添加了一条新的filter后可以直接
system("killall -9 targetApp")
来强制关掉那个进程
我问个题外的
dylib的载入 和 dll 不是一个原理吧
dylib 是全部被读进内存后, 即使这个dylib被删除,也不影响读取他的进程的正常运行,我说的对不对?
dll是windows上的东西,具体怎么载入的我不清楚。但dylib是由iOS/OSX上的dyld加载到进程的,一个大概的介绍可以参考MikeAsh的文章。
当dylib被全部读入内存后,即使删掉这个文件,也是不影响其附主进程的运行的,你说的是对的
谢谢 你的回答