Повторяющиеся ошибки объявления интерфейса при создании твиков MobileSubstrate - PullRequest
0 голосов
/ 02 ноября 2011

У меня проблема с настройкой мобильных субстратов для iOS 5.

В большинстве учебников по настройке Cydia есть следующий шаг: «Загрузка заголовков частных фреймворков».Итак, я скачал его с: https://github.com/kennytm/iphone-private-frameworks

Поскольку приватные фреймворки выгружаются из iOS 3.x, некоторые новые методы и переменные не включены.

Поэтому я добавил эти переменныена мой твик.И я импортировал private-framework-headers тоже.

Например:

#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

Как я могу решить эту проблему?Стоит ли редактировать заголовки приватных фреймворков iOS 3 и добавлять новые переменные из iOS 5?

Большое спасибо

1 Ответ

2 голосов
/ 02 ноября 2011

Добавление категории исправит это.

@interface UIKeyboardImpl (YourCategory)
@property(assign, nonatomic) BOOL showsCandidateInline;
@property(assign, nonatomic) BOOL showsCandidateBar;
@end
...