【问题标题】:iPhone Static Library for iOS3 and iOS4适用于 iOS3 和 iOS4 的 iPhone 静态库
【发布时间】:2010-09-01 19:11:34
【问题描述】:

我正在尝试从适用于 ios4 和 ios3 的静态库构建通用二进制文件。但是,当我添加 ios4 内置的库并尝试在 ios3 中使用它时,它给了我这些类型的错误:

未定义的符号: “_OBJC_CLASS_$_NSMutableCharacterSet”,引用自: myLib.a(myLib.a-i386-master.o) 中的 objc-class-ref-to-NSMutableCharacterSet “_OBJC_CLASS_$_NSURLConnection”,引用自: myLib.a(myLib.a-i386-master.o) 中的 objc-class-ref-to-NSURLConnection “_OBJC_CLASS_$_UIDevice”,引用自: myLib.a(myLib.a-i386-master.o) 中的 objc-class-ref-to-UIDevice “_OBJC_CLASS_$_NSString”,引用自:

我无法将 ios3 和 ios4 中内置的库与 lipo 结合使用,因为它们使用相同的架构。看起来它只是没有从 UIKit 中找到一些基本文件。我只需要解决一些链接问题吗?

【问题讨论】:

    标签: iphone static


    【解决方案1】:

    尝试弱链接 UIKit。在您现在的构建设置中,它可能被标记为“必需”。

    (右键目标 -> 获取信息 -> 常规选项卡 -> 链接库 -> UIKit.framework 的“类型”列)

    只需确保 iOS 3 构建使用的所有代码路径都没有使用仅限 iOS 4.x 的东西。

    【讨论】:

    • 嘿Shaggy,感谢您的回复!我将所有链接库都更改为弱,但它仍然无法正常工作:(
    【解决方案2】:

    你有没有尝试添加

    #import <UIKit/UIKit.h>
    

    ...到您的类 .h 文件的顶部?这可能会解决问题。

    安迪

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-15
      相关资源
      最近更新 更多