有人可以告诉我如何挂钩SpringBoard方法,就像使用iOsOpenDev(iOs 7.1)的某些AppSlider方法一样。我也不知道我必须采取什么样的框架。
我试过这个,但控制台上没有任何内容:
import UIKit/UIKit.h
import SpringBoard/SpringBoard.h
import "CaptainHook.h"
CHDeclareClass(SBAppSliderScrollingViewController);
CHOptimizedMethod(0, self, void, SBAppSliderScrollingViewController, loadView)
{
CHSuper(0, SBAppSliderScrollingViewController, loadView);
NSLog(@"Ciccia!");
}
CHConstructor
{
@autoreleasepool
{
CHLoadLateClass(SBAppSliderScrollingViewController);
CHHook(0, SBAppSliderScrollingViewController, loadView);
}
}
答案 0 :(得分:0)
为什么需要
CHLoadLateClass(SBAppSliderScrollingViewController); //for class available later
你可以写
CHLoadClass(SBAppSliderScrollingViewController);//for class available now ;)
你可以使用Logos轻松完成.. 这是一个例子......
#import <UIKit/UIKit.h>
%hook SBAppSliderController
- (void)loadView {
%orig;
NSLog (@"****AppSwitcher Appeared");
UIAlertView *testAlert = [[UIAlertView alloc] initWithTitle:@"Test"
message:@"app switcher appeared."
delegate:self
cancelButtonTitle:@"OK"
otherButtonTitles:nil];
[testAlert show];
[testAlert release]; //for non-arc
}
%end
注意: 如果你需要在AppSwitcher出现时做一些事情,右类是SBAppSliderController;)