2011-11-02 26 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

相關問題