2013-02-21 107 views
1

我正在尝试使用MSHookIvar获取ivar,但出现此错误:“'MSHookIvar'未在此范围内声明”。我试图在我的iPhone和Mac中编译它,但都说我有这个错误。感谢'MSHookIvar'未在此范围内声明

这里是我的代码:

#import "substrate.h" 


%hook SBAwayController 




- (void)_unlockWithSound:(BOOL)arg1 unlockSource:(int)arg2 isAutoUnlock:(BOOL)arg3 bypassPinLock:(BOOL)arg4{ 

UIButton *myButton = [UIButton buttonWithType:UIButtonTypeRoundedRect]; 
myButton.frame = CGRectMake(21, 80, 100, 35); 
[myButton setTitle:@"My Button" forState:UIControlStateNormal]; 
[myButton addTarget:self action:@selector(myButtonPressed)  forControlEvents:UIControlEventTouchUpInside]; 

SBUIController *ui = MSHookIvar<id>(self, "_uiController"); 

[[ui window ] addSubview:myButton]; 

%orig(arg1,arg2,arg3,arg4); 

} 

%end 


%hook SBUIController 

- (id)window{ 
return %orig; 
} 



%end 

回答

1

我有这个同样的问题,请尝试使用%orig;代替%orig(arg1,arg2,arg3,arg4);。请记住让我知道它是怎么回事