创建MobileSubstrate调整时出现重复的接口声明错误

时间:2011-11-02 15:09:47

标签: iphone ios cydia

我有一个关于为iOS 5进行Mobile Substrate调整的问题。

关于进行Cydia调整的大多数教程都采用了这一步:“下载私有框架头”。 所以,我是从https://github.com/kennytm/iphone-private-frameworks

下载的

由于私有框架是从iOS 3.x转储的,因此不包括一些新的方法和变量。

因此,我将这些变量添加到我的Tweak.xm中。我也导入了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 个答案:

答案 0 :(得分:2)

添加类别将解决此问题。

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