11

我最近升级了我的代码库以使用 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

4

3 回答 3

29

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

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

于 2012-09-25T08:16:45.067 回答
0

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

于 2013-02-19T12:17:15.667 回答
0

Or it could be that you are using a library that was compiled with a higher base SDK than your project base SDK.

于 2013-06-04T11:45:59.143 回答