0

我是 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,它们如何未定义?另外,如何解决这个问题?

4

3 回答 3

1

注意:要在设备中运行应用程序,设备 IOS 版本必须与 IOS 部署目标匹配,请参见下图:

只需使用您的设备 IOS 更改 IOS 部署目标。

选择Project->Select Info(tab)->从下拉框中选择IOS部署Target

在此处输入图像描述

另请注意:Xcode 4.5(及更高版本)不支持生成 armv6 二进制文件。

于 2013-01-17T09:42:00.203 回答
0

我不确定您使用的是哪个版本的 Unity 引擎,但它是否支持 armv7?

因为如果它不支持,并且它只支持 armv6,那么您将不得不降级您的 Xcode 版本,以便使用编译 armv6 二进制文件的编译器,因为 Xcode 4.5 不这样做。

如果您使用的是支持 armv7 的 Unity 版本,则需要将最低部署版本设置为 iOS4.3

于 2012-11-06T12:29:41.560 回答
0

尝试架构 armv6 和 armv7再次
清理项目
构建。

于 2012-12-31T10:07:30.277 回答