%group分组问题

我想把一个group组下的hook内容单独写到一个xm文件里,然后在makefile文件里添加test_FILES。但是报错了error: %init for an undefined %group springboard。
我是这样做的:

Tweak.xm
#import “CommonUtil.h”
%ctor{
@autoreleasepool {
%init;
NSString *bundleID = [[[NSBundle mainBundle]infoDictionary] objectForKey:@“CFBundleIdentifier”];
[CommonUtil writeToFile:@“bundleID = %@, 进程启动.”, bundleID];
if([bundleID isEqualToString:@“com.apple.springboard”]){
%init(springboard);
}else if([bundleID isEqualToString:@“com.apple.Preferences”]){
%init(Preferences);
}
}
}

SpringBoard.xm

%group springboard
%hook ASpringBoardClassName
-(id)init{
return %orig;
}
%end
%end

Preferences.xm

%group Preferences
%hook APreferencesClassName
-(id)init{
return %orig;
}
%end
%end

Makefile

test_FILES = Tweak.xm
test_FILES += Preferences.xm
test_FILES += SpringBoard.xm

编译时报错error: %init for an undefined %group springboard。
当然把所有的东西写在Tweak.xm里是没问题的,但这不是我的初衷,所以想请教各位,有办法做到一个group组下的hook内容单独写到一个xm文件里吗?

你要在 Preferences.xm 里 %init(Preferences);

亲测可用,感谢Ouroboros大神的回答