Theos "make" ошибка: метод класса не найден

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


#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

Когда я пытаюсь скомпилировать его с помощью команды "make package install", я получаю эту ошибку:

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) {

Спасибо!

1 ответ

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

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

+ (С плавающей точкой)nominalDistanceBetween5IconCentersForSize:(CGSize) размер;

+ (С плавающей точкой)nominalDistanceBetween3IconCentersForSize:(CGSize) размер;

Другие вопросы по тегам