【问题标题】:ARC is working in iOS 6 but not work in iOS5.1ARC 适用于 iOS 6 但不适用于 iOS5.1
【发布时间】:2012-12-01 08:27:48
【问题描述】:

我正在尝试为我的 cocos2dbox2d 应用程序启用 ARC(自动引用计数)功能,所以我将这个 link 流动起来。 ARC 已成功启用,应用程序在 iOS 6 中运行良好,但在 ios 5.1 中相同的应用程序崩溃。崩溃报告是

2012-12-01 13:33:07.753 SampleApp[6397:707] cocos2d: **** WARNING **** CC_ENABLE_GL_STATE_CACHE is disabled. To improve performance, enable it by editing ccConfig.h

2012-12-01 13:33:07.757 SampleApp[6397:707] cocos2d: cocos2d v2.0.0
2012-12-01 13:33:07.761 SampleApp[6397:707] cocos2d: Using Director Type:CCDirectorDisplayLink

dyld: lazy symbol binding failed: Symbol not found: _objc_setProperty_nonatomic
  Referenced from: /var/mobile/Applications/03ACE817-3A67-456C-914A-90BC00B4AD38/SampleApp.app/SampleApp
  Expected in: /usr/lib/libobjc.A.dylib

dyld: Symbol not found: _objc_setProperty_nonatomic
  Referenced from: /var/mobile/Applications/03ACE817-3A67-456C-914A-90BC00B4AD38/SampleApp.app/SampleApp
  Expected in: /usr/lib/libobjc.A.dylib

检查此图像:

谁能帮帮我...

谢谢...

【问题讨论】:

标签: iphone cocos2d-iphone box2d box2d-iphone


【解决方案1】:

如果您遇到此错误,请将您的部署目标设置为 4.3。默认情况下,它设置为 6(最新)。一旦我们将所有项目和子项目设置为相同的部署目标,问题就消失了。如果您想在您的应用程序中启用 ARC,您需要将部署目标设置为 5.0 及更高版本。

【讨论】:

  • 您可以将 ARC 与早至 iOS 4.0 的部署目标一起使用。如果你想使用弱引用,你只需要部署目标 iOS 5.0。
  • Steffen Itterheim,感谢您分享宝贵的信息。你能告诉我如何在ios4.0中设置弱引用
【解决方案2】:

我自己也遇到了这个问题。我将 Cocos2d 与 ARC 一起使用,这意味着我将 cocos2d 代码作为库拉入。我将应用程序目标的目标 ios 设置为 5.1,但在构建设置中将 cocos2d 库目标设置为 6.1。一旦我将 cocos2d 库设置为 5.1,它就可以正常工作了。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-04-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-01
    • 1970-01-01
    相关资源
    最近更新 更多