2016-01-05 8 views
1

После импорта substrate.h, я продолжал использовать MSHookIvar в функции из подключенного класса. Btw, я пытаюсь скомпилировать из Cygwin. Я не могу скомпилировать со следующими ошибками:Undeclared Identifier 'MSHookIvar'

Tweak.xm:20:16: error: use of undeclared identifier 'MSHookIvar' 
    hookedLabel = MSHookIvar<UILabel *>(self, "_textLabel"); 
       ^
Tweak.xm:20:27: error: unexpected interface name 'UILabel': expected expression 
    hookedLabel = MSHookIvar<UILabel *>(self, "_textLabel"); 
          ^
Tweak.xm:20:36: error: expected expression 
    hookedLabel = MSHookIvar<UILabel *>(self, "_textLabel"); 
            ^
Tweak.xm:20:38: error: expression result unused [-Werror,-Wunused-value] 
    hookedLabel = MSHookIvar<UILabel *>(self, "_textLabel"); 

И это мой код:

#import <UIKit/UIKit.h> 
#import "substrate.h" 
#import "logos/logos.h" 

%hook DataView 

UILabel *hookedLabel; 

-(void)layoutSubviews { 
    UILongPressGestureRecognizer *lpg = [[UILongPressGestureRecognizer alloc] initWithTarget: self action:@selector(handleLongPress)]; 
    [lpg setDelegate:self]; 
    [lpg setMinimumPressDuration:1]; 
    [self addGestureRecognizer:lpg]; 

    hookedLabel = MSHookIvar<UILabel *>(self, "_textLabel"); 
} 

%end 

Я пытался импортировать logos.h, но это все равно не помогает.

EDIT: Я понял, что у моего субстрата.h нет определения для MSHookIvar, что мне делать?

Пожалуйста помочь

ответ

0

я нашел substrate.h от пользователя GoogleCode networkpx Link

Я заменил его с моим текущим и, кажется, компилировать и работает отлично