我正在尝试从适用于ios4和ios3的静态库构建通用二进制文件。但是,当我添加ios4中内置的库并尝试在ios3中使用它时,它会给我这些错误:
未定义的符号: “_OBJC_CLASS _ $ _ NSMutableCharacterSet”,引自: myLib.a中的objc-class-ref-to-NSMutableCharacterSet(myLib.a-i386-master.o) “_OBJC_CLASS _ $ _ NSURLConnection”,引自: myLib.a中的objc-class-ref-to-NSURLConnection(myLib.a-i386-master.o) “_OBJC_CLASS _ $ _ UIDevice”,引自: myLib.a中的objc-class-ref-to-UIDevice(myLib.a-i386-master.o) “_OBJC_CLASS _ $ _ NSString”,引自:
我无法将ios3和ios4中内置的库与lipo结合使用,因为它们使用相同的架构。看起来它只是没有找到UIKit的一些基本文件。我只需要解决一些链接问题吗?
答案 0 :(得分:0)
尝试弱连接UIKit。在您的构建设置中,它可能标记为“必需”。
(右键单击目标 - >获取信息 - >常规标签 - >链接库 - >“为UIKit.framework键入”列)
确保iOS 3版本使用的所有代码路径都不使用仅限iOS 4.x的内容。
答案 1 :(得分:0)
您是否尝试过添加
#import <UIKit/UIKit.h>
...到你的班级.h文件的顶部?这可能会解决问题。
安迪