2011-11-02 25 views
0

我有一个关于使移动基材调整为iOS 5当我创建MobileSubstrate有重复的接口声明的错误调整

大多数教程的制作Cydia的调整问题,有这一步:“下载专用框架头”。 所以,我从它下载:https://github.com/kennytm/iphone-private-frameworks

由于私人框架从iOS 3.x转储,一些新的方法和变量不包括在内。

因此,我将这些变量添加到我的Tweak.xm中。我也导入了私有框架头文件。

例如:

#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添加新变量吗?

非常感谢

回答

2

添加分类将修复它。

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

哇,谢谢!它像一个魅力! :d – Hiraku

相关问题