#iphone #ios #cydia
#iPhone #iOS #cydia
Вопрос:
У меня возникла проблема с созданием настроек Mobile Substrate для iOS 5.
В большинстве руководств по созданию настроек Cydia есть этот шаг: «Загрузить заголовки private framework». Итак, я скачал его с: https://github.com/kennytm/iphone-private-frameworks
Поскольку частные фреймворки выгружаются из iOS 3.x, некоторые новые методы и переменные не включены.
Поэтому я добавил эти переменные в свой файл Tweak.xm. И я также импортировал заголовки private-framework.
Например:
#import "/opt/theos/include/UIKit/UIKit2.h"
#import "/opt/theos/include/UIKit/UIKeyboardLayoutStar.h"
@interface UIKeyboardImpl : UIView
@property(assign, nonatomic) BOOL showsCandidateInline;
@property(assign, nonatomic) BOOL showsCandidateBar;
@end
Однако, когда я скомпилировал настройку, я получил эти ошибки:
Tweak.xm:45: error: duplicate interface declaration for class ‘UIKeyboardImpl’
Tweak.xm:45: error: redefinition of ‘struct UIKeyboardImpl’
Tweak.xm:45: error: trying to finish struct, but kicked out due to previous parse errors
Как я могу исправить эту проблему?
Должен ли я редактировать заголовки private framework iOS 3 и добавлять новые переменные из iOS 5?
Большое спасибо
Ответ №1:
Добавление категории исправит это.
@interface UIKeyboardImpl (YourCategory)
@property(assign, nonatomic) BOOL showsCandidateInline;
@property(assign, nonatomic) BOOL showsCandidateBar;
@end