【问题标题】:runtime exception after upgrade to Xcode4.5 iOS6 Base SDK升级到 Xcode4.5 iOS6 Base SDK 后运行时异常
【发布时间】:2012-09-16 10:10:01
【问题描述】:

我最近升级了我的代码库以使用 iOS6 Base SDK - 我正在使用 XCode 4.5。我只需要将 dylibxml2.2.3.7 更改为 dylibxml2.2。它在 6.0 模拟器上运行良好。我正在使用 GoogleAnalytics、Three20 等库。

但是当我在 iOS 5 (iPhone4) 上运行代码时,它在启动时崩溃并出现以下错误:

我不知道它到底在哪里崩溃,因为我看到的只是崩溃时的机器代码

dyld:惰性符号绑定失败:未找到符号:_objc_setProperty_nonatomic

引用自:/Users//Library/Application Support/iPhone Simulator/5.0/Applications//

/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator5.0.sdk/System/Library/Frameworks/Foundation.framework/Foundation

【问题讨论】:

    标签: ios6 xcode4.5


    【解决方案1】:

    在构建我自己的库并在我的示例代码中运行它时,我也遇到了同样的错误。仔细阅读构建日志后,我现在弄清楚了原因。

    我将部署目标设置为 iOS 3.0,但最新的 Xcode 仅支持 iOS 4.3 及更高版本。因此编译器会自动将部署目标设置为 iOS 6.0,每当项目在 iOS 6.0 下运行时都会产生错误。我通过在我的 lib 项目中将部署目标设置为 iOS 4.3 来修复它。

    【讨论】:

    • 太棒了!为我工作 - 我完全忽略了那部分 - 当你升级到新的 iOS 和新的 xCode 时,令人难以置信的事情会变得多么疯狂 - 非常感谢!
    【解决方案2】:

    单独changng SDK部署目标有问题。我刚刚创建了一个基于选项卡的应用程序。没有对任何文件进行任何更改。在 ios 6 模拟器上运行良好,但如果我更改
    部署目标为 5 并在 ios 5 模拟器上运行,该模拟器正在创建异常(信号 SIGABRT)。 Xcode 版本 4.5 和默认部署目标 SDK 6.0。

    【讨论】:

    • +1 表示 iPhoney 答案。除此之外,如果您使用的是 xib 或故事板,请确保在 ios5 上运行时取消选中界面生成器中的“useautolayout”。默认情况下,为 ios6 sdk 目标检查此选项。
    【解决方案3】:

    也可能是您使用的库是使用比您的项目基础 SDK 更高的基础 SDK 编译的。

    【讨论】:

      猜你喜欢
      • 2012-06-25
      • 1970-01-01
      • 1970-01-01
      • 2016-11-06
      • 2012-11-23
      • 2016-04-30
      • 2023-04-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多