例如,想在tweak中hook并修改如下函数调用的返回结果,不知怎么写,求指点:
NSArray *Arr = [theClass performSelector:NSSelectorFromString(@“something”)];
例如,想在tweak中hook并修改如下函数调用的返回结果,不知怎么写,求指点:
NSArray *Arr = [theClass performSelector:NSSelectorFromString(@“something”)];
%hook xxxclass
xxxxmethod
{
id org = %orig
org = Change
return org
}
hook theCalss
-(NSArray)something{
id org = %org
return org
}
你少了个%
哈哈 按你的写的 只是我具体化了些。
谢谢楼上几位,可能是我之前没写清楚,原始代码是这样的:
Class lsawsc = objc_getClass(“LSApplicationWorkspace”);
NSObject* workspace = [lsawsc performSelector:NSSelectorFromString(@“defaultWorkspace”)];
NSArray *arr = [workspace performSelector:NSSelectorFromString(@“allInstalledApplications”)];
for (NSString * tmp in arr)
{
NSLog(@"%@", tmp);
}
现在就是想要通过在tweak中hook,将这个arr中的某些bundle id给过滤掉,求指点
看你应该用的私有api
%hook LSApplicationWorkspace
-(nsarray*)allInstalledApplications{
return “你过滤的数组”;
}
%end
多谢LS,你太厉害了