Daemon hook 失败

daemon 代码如下

static void Reboot(CFNotificationCenterRef center, void *observer, CFStringRef name, const         void *object, CFDictionaryRef userInfo)
        {
                NSLog(@"tweak: reboot");
                dlopen("/Library/MobileSubstrate/DynamicLibraries/tweak.dylib",RTLD_LAZY);
        }


int main(int argc, char **argv, char **envp) {

	NSLog(@"AAAAAAAAA twaek");
	 CFNotificationCenterAddObserver(CFNotificationCenterGetDarwinNotifyCenter(), NULL, Reboot, CFSTR("com.xa.tweak.reboot"), NULL,         CFNotificationSuspensionBehaviorCoalesce);
 	 CFRunLoopRun(); // keep it running in background
	return 0;
}

tweak.dylib 代码如下

%hook UIColor

+ (UIColor *)colorWithWhite:(CGFloat)white alpha:(CGFloat)alpha{
	%log;
	return %orig;
}
+ (UIColor *)colorWithHue:(CGFloat)hue saturation:(CGFloat)saturation brightness:(CGFloat)brightness alpha:(CGFloat)alpha{
	%log;
	return %orig;
}
+ (UIColor *)colorWithRed:(CGFloat)red green:(CGFloat)green blue:(CGFloat)blue alpha:(CGFloat)alpha{
	%log;
	return %orig;
}
%end

已经确保daemon运行起来了
加载tweak.dylib的时候,
报错:
MS:warning: nil class argument for selector colorWithWhite:alpha:
Nov 25 15:20:16 iPhone daemon[71] : MS:warning: nil class argument for selector colorWithHue:saturation:brightness:alpha:
Nov 25 15:20:16 iPhone daemon[71] : MS:warning: nil class argument for selector colorWithRed:green:blue:alpha:

请教一下为什么会找不到这个uicolor class.
我想做的是不管哪个APP调用uicolor 这个函数。我都能hook住。想全局改颜色。

应该是hook 了一个非UIKit App

老铁。有没好招。。。

你Hook Daemon的UIKit是为了啥

这需要全局注入。。。
你hook daemon 进程的uikit有蛋用

我应该需要的就是全局注入。。。但是不知道方法。所以有了上面的代码。。

正常写Tweak,Filter写com.apple.UIKit就行了

ty。感觉我之前的思路好离谱。