Ошибки заголовка SpringBoard при компиляции твиков с помощью theos

Я новичок в разработке jailbreak tweaks и использую theos для разработки своих настроек, но столкнулся с некоторыми проблемами, когда компилировал настройку с помощью команды make.

По сути, я сбросил все заголовки IOS 7 SpringBoard с помощью class-dump-z и поместил их все в папку theos/include. Я понимаю, что есть класс с именем XXUnknownSuperClass, и когда я компилировал твик, я получил какую-то ошибку от этого класса.

/theos/include/Spring/SBUIAnimationController.h:8:9: error: 
      'XXUnknownSuperclass.h' file not found with <angled> include; use "quotes"
      instead
#import <XXUnknownSuperclass.h> // Unknown library
        ^~~~~~~~~~~~~~~~~~~~~~~
        "XXUnknownSuperclass.h"

/theos/include/Spring/XXUnknownSuperclass.h:14:12: error: 
      cannot find interface declaration for 'XXUnknownSuperclass'
@interface XXUnknownSuperclass (SBApplicationAdditions)

fatal error: too many errors emitted, stopping now [-ferror-limit=]

И следующий вопрос, который у меня есть, заключается в том, могу ли я подключить SBIconViewDelegate для запуска пользовательского метода, когда нажимаются значки приложений на SpringBoard?

Большое спасибо за вашу помощь!


person jeffrey001234    schedule 03.01.2014    source источник


Ответы (1)


Некоторые заголовочные файлы из дампа класса нельзя использовать напрямую. Есть некоторые распространенные ошибки, которые можно изменить, как показано ниже.

#import "NSObject.h"
-> 
#import <Foundation/NSObject.h>

@class CTPhoneNumber, NSArray, NSDate, NSDictionary, NSMutableArray, NSMutableDictionary, NSObject<CTMessageAddress, NSCopying>, NSString;
->
@class CTPhoneNumber, NSArray, NSDate, NSDictionary, NSMutableArray, NSMutableDictionary, NSObject<CTMessageAddress, NSCopying>, NSString;

NSObject<CTMessageAddress><NSCopying>
->
NSObject<CTMessageAddress,NSCopying>

По вашему вопросу вы можете удалить объявление или реализацию о «XXUnknownSuperclass» или просто иногда удалять «XXUnknownSuperclass».

Я предпочитаю объявлять интерфейсы только о текущем проекте. Вы также можете выполнить поиск «заголовок iOS» на github.com и загрузить заголовки, сброшенные и измененные другими.

Обычно SBIconViewDelegate реализуется SBIconController, вы можете проверить заголовочный файл SBIconController и связанные с ним методы.

person guoc    schedule 03.01.2014
comment
Спасибо за ответы. Я попробую это, как только смогу! - person jeffrey001234; 03.01.2014