2015-01-09 3 views
0

Я пытаюсь сделать настройку с Theos для iOS 8. Его назначение заключается в закрытии переключателя приложений, когда последнее приложение было закрыто (когда остается только карта SpringBoard). Вот полный исходный код (пожалуйста, не обращайте внимания на UIKit/UIKit.h, я знаю, что там должны быть <>):Ошибка «make» Теоса: метод класса не найден


#import UIKit/UIKit.h 


@interface SBAppSwitcherIconController { 

NSMutableArray *_appList; 

} 

@end 


@interface SBAppSwitcherController 

- (void)_quitAppWithDisplayItem:(id)arg1; 

//custom method 
- (void)_dismissAppSwitcher; 

@end 


@interface SBUIController 

+ (id)sharedInstance; 

- (void)dismissSwitcherAnimated:(_Bool)arg1; 

@end 


%hook SBAppSwitcherController 

- (void)_quitAppWithDisplayItem:(id)arg1 { 

    %orig(); 

    if ([[%c(SBAppSwitcherIconController) _appList] count] == 0) { 

     [NSTimer scheduledTimerWithTimeInterval:0.1 target:self selector:@selector(_dismissAppSwitcher) userInfo:nil repeats:NO]; 

    } 

} 

%new 


- (void)_dismissAppSwitcher { 

    [[%c(SBUIController) sharedInstance] dismissSwitcherAnimated:YES]; 

} 


%end 

Когда я пытаюсь скомпилировать его с «сделать пакет установки» , я получаю эту ошибку:

Tweak.xm:38:65: error: class method '+_appList' not found (return type defaults to 'id') [-Werror,-Wobjc-method-access] 
    if ([[_logos_static_class_lookup$SBAppSwitcherIconController() _appList] count] == 0) { 

Спасибо!

ответ

0

SBAppSwitcherIconController не имеет метода класса '_appList'. Вы можете посмотреть заголовок здесь: https://github.com/coolstar/iOS-8.1-SpringBoard-Headers/blob/master/SBAppSwitcherIconController.h

Метод класса будет иметь «+» перед заголовком функции. Например, SBAppSwitcherIconController имеет два метода класса (однако это не поможет для вашего твика):

+ (float) номиналDistanceBetween5IconCentersForSize: (CGSize) размер;

+ (плавающий) номинальныйDistanceBetween3IconCentersForSize: (CGSize) размер;

+0

Итак, не могли бы вы рассказать мне, как получить _appList SBAppSwitcherIconController из SBAppSwitcherController's - (void) _quitAppWithDisplayItem ...? – vanelizarov