为 OS 3.1.3 编译 iphone
Posted
技术标签:
【中文标题】为 OS 3.1.3 编译 iphone【英文标题】:Compiling iphone for OS 3.1.3 【发布时间】:2010-12-26 09:01:02 【问题描述】:我目前正在使用 XCode 3.2.4 和 OS 4.2 它运行顺利,但现在我想让我的应用程序在早期版本 3.1.3 上运行,但是 这些错误不断出现。
___restore_vfp_d8_d15_regs", referenced from:
+[FontManager sharedManager] in libcocos2d libraries.a(FontManager.o)
-[ZAttributedString enumerateAttribute:inRange:options:usingBlock:] in libcocos2d libraries.a(ZAttributedString.o)
+[CDAudioManager alloc] in libcocos2d libraries.a(CDAudioManager.o)
+[CDAudioManager initAsynchronously:channelGroupDefinitions:channelGroupTotal:] in libcocos2d libraries.a(CDAudioManager.o)
+[CDAudioManager sharedManager] in libcocos2d libraries.a(CDAudioManager.o)
-[CDSoundEngine loadBuffersAsynchronously:] in libcocos2d libraries.a(CocosDenshion.o)
+[SimpleAudioEngine alloc] in libcocos2d libraries.a(SimpleAudioEngine.o)
+[SimpleAudioEngine sharedEngine] in libcocos2d libraries.a(SimpleAudioEngine.o)
+[CCTouchDispatcher allocWithZone:] in libcocos2d libraries.a(CCTouchDispatcher.o)
+[CCTouchDispatcher sharedDispatcher] in libcocos2d libraries.a(CCTouchDispatcher.o)
和
___save_vfp_d8_d15_regs", referenced from:
我将 ios 目标更改为 iOS 3.0。 它适用于模拟器,但不适用于设备(以上错误)。
这里有什么问题?
【问题讨论】:
【参考方案1】:-[ZAttributedString enumerateAttribute:inRange:options:usingBlock:] in libcocos2d libraries.a(ZAttributedString.o)
显示此方法调用使用了块,iOS 3 不支持该块。块仅在 iOS 4.0 中引入。
Cocos2D 网站甚至告诉您至少应该使用 iOS SDK 4.1。如果您使用以前的版本,您可能会很幸运,如果您不使用以后介绍的任何技术,您的代码可能会工作,但不能保证您的应用程序会运行。
【讨论】:
所以如果我要将我的应用发布到商店。我必须将其指定为 iOS 4.1 及更高版本吗? 您可以尝试使用 iOS 4.0 作为部署目标。至少块会起作用。我不太确定还有哪些功能特别需要 4.1,但 4.0 和 4.1 之间的差异远远小于 3.0 和 4.0 之间的差异。试试看。如果它编译为 4.0,那么你很高兴。如果没有,请使用 4.1 并且您是安全的。以上是关于为 OS 3.1.3 编译 iphone的主要内容,如果未能解决你的问题,请参考以下文章
为 Mac OS X 编译 libjingle/gtk+-2.0 的问题
使用 GD 为 iPhone OS 4.1 编译 PHP [关闭]