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) размер;