2010-09-01 85 views
1

我正嘗試從靜態庫中構建通用二進制文件,該文件適用於ios4和ios3。然而,當我加建於iOS4的圖書館,並嘗試在IOS3使用它,它給了我這兩種錯誤:針對iOS3和iOS4的iPhone靜態庫

未定義的符號: 「_OBJC_CLASS _ $ _ NSMutableCharacterSet」,從引用: objc級-REF-到在myLib.a(myLib.a-i386-master.o)中的-NSMutableCharacterSet 「_OBJC_CLASS _ $ _ NSURLConnection」,引用來自: objc-class-ref-to-NSURLConnection in myLib.a(myLib.a-i386-master。 O) 「_OBJC_CLASS _ $ _的UIDevice」,從引用:

:mylib.a中(mylib.a中-I386-master.o) 「_OBJC_CLASS _ $ _的NSString」, objc級-REF到的UIDevice從引用

我不能將內置ios3和ios4的庫與lipo相結合,因爲它們使用相同的體系結構。它看起來只是沒有從UIKit中找到一些基本文件。我只需要解決一些鏈接問題?

回答

0

嘗試弱鏈接UIKit。在您的構建設置中,它可能被標記爲「必需」。

(右鍵單擊目標 - >獲取信息 - >常規選項卡 - >鏈接庫 - >「類型」爲UIKit.framework列)

只要確保通過在iOS 3的構建中使用的所有代碼路徑AREN」 t使用iOS 4.x的東西。

+0

Hey Shaggy謝謝你的回覆!我改變了所有的鏈接庫弱,但它仍然沒有工作:( – Julie 2010-10-20 18:50:51

0

你有沒有嘗試添加

#import <UIKit/UIKit.h> 

...到類的.h文件的頂部?這可能會解決這個問題。

Andy