我正在制作一个MobileSubstrate插件,它应该能够: a)钩取特定类/类的实例方法,并且 b)根据包含对象的应用程序的bundle ID执行不同的操作(具体来说,这是一个UIResponder子类)。对于如何实现此功能,您有什么建议吗?
你说调用[[NSBundle mainBundle] bundleIdentifier]总是返回com.apple.springboard且仅如此。这意味着你的代码仅在SpringBoard内运行。MobileSubstrate扩展仅注入到某些进程中,而非全部。可以通过其过滤器(从.plist文件加载)来控制。如果你想让代码注入到所有类实例中,则将过滤器修改为“com.apple.UIKit”而不是“com.apple.springboard”,所有应用程序都将使用你的代码。