针对iOS3和iOS4的iPhone静态库
问题描述:
我正尝试从静态库中构建通用二进制文件,该文件适用于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中找到一些基本文件。我只需要解决一些链接问题?
答
尝试弱链接UIKit。在您的构建设置中,它可能被标记为“必需”。
(右键单击目标 - >获取信息 - >常规选项卡 - >链接库 - >“类型”为UIKit.framework列)
只要确保通过在iOS 3的构建中使用的所有代码路径AREN” t使用iOS 4.x的东西。
答
你有没有尝试添加
#import <UIKit/UIKit.h>
...到类的.h文件的顶部?这可能会解决这个问题。
Andy
Hey Shaggy谢谢你的回复!我改变了所有的链接库弱,但它仍然没有工作:( – Julie 2010-10-20 18:50:51