我是iOS开发的新手,我已经完成了将旧版应用更新到iOS6的任务。该应用程序是使用Unity构建的。在XCode 4.5中,当我尝试在我的设备(iPhone 4)上运行Unity-iPhone应用程序时,出现此错误:
Xcode cannot run using the selected device.
Choose a destination with a supported architecture in order to run on this device.
我去了目标的构建设置,并注意到armv6是为架构和有效架构设置的。我将这两个设置都更改为标准(armv7,armv7s)。当我尝试运行该项目时,我得到了104个编译器错误,如下所示:
Undefined symbols for architecture armv7:
"ForceInclude_BaseBehaviourManager()", referenced from:
RegisterManagerClasses() in RegisterClasses.o
因此,这不仅仅是将正确的框架导入项目的问题。这些是其中一个源文件中的所有方法。如何为armv7定义它们?另外,如何解决这个问题?
答案 0 :(得分:1)
注意:要在设备中运行应用程序,设备IOS版本必须与IOS DEPLOYEMENT TARGET匹配 见下图:
只需使用您的设备IOS更改IOS DEPLOYEMENT TARGET。
选择项目 - >选择信息(标签) - >从下拉框中选择IOS部署目标
另请注意:Xcode 4.5(及更高版本)不支持生成armv6二进制文件。
答案 1 :(得分:0)
我不确定您使用的是什么版本的Unity引擎,但它是否支持armv7?
因为如果没有,并且它只支持armv6,那么你将不得不降级你的Xcode版本,以便使用编译armv6二进制文件的编译器,因为Xcode 4.5不会这样做。
如果您使用的是支持armv7的Unity版本,那么您需要将最低部署版本设置为iOS4.3
答案 2 :(得分:0)
尝试架构armv6和armv7
清理项目
再建一次。