【问题标题】:Xcode 4.2 + armv6 + release = bugs?Xcode 4.2 + armv6 + release = 错误?
【发布时间】:2012-02-16 02:33:16
【问题描述】:

我不确定我的问题出在哪里,但情况如下。我有一个通用应用程序设置为 3.2 和 Base SDK iOS 5.0 的部署目标。该项目是在 Xcode 4.2 中创建的。

我已将我的体系结构设置为包括 armv6 和 armv7 用于“调试”和“发布”

“仅构建活动架构”设置为“否”

在开发我的应用程序时,我遇到了一个奇怪的错误,即我的 x 和 y 值无法在旧设备上正确输出(y 总是等于 x)。

从“Info.plist”中删除“必需的设备功能”后,问题就消失了。

但是,当我实际存档我的应​​用程序以进行分发时,问题似乎仍然存在!这怎么解释?我还能检查什么?

【问题讨论】:

  • 一旦我从“Info.plist”中删除了“必需的设备功能”,您的意思是您删除了 armv7?在删除所需的设备功能之前,您真的可以在 armv6 设备上测试您的应用吗?
  • 我不知道,但是一旦我这样做了,该应用程序就开始在我的旧 iPod 上运行。
  • 好的。这是我所期望的。但我仍然不明白事件的年表。 我遇到了一个奇怪的错误,即我的 x 和 y 值在旧设备上无法正确输出,这怎么会在您删除设备功能之前发生?您无法在旧设备上进行测试。
  • 哦,对了。我无法直接从 XCode 运行该应用程序。但是通过 iPhone 配置实用程序有一个解决方法。这让我安装了应用程序,所以我看到了这个错误。
  • 好的 :) 归档后如何在旧设备上测试应用程序?

标签: ios xcode4.2 release armv6


【解决方案1】:

看到这个answer 到上一个问题。在 cmets 中,有人提出了解决方案。

在 armv6 上禁用 Thumb 构建可防止此类错误。

【讨论】:

    【解决方案2】:

    @sch 正确地指出了解决方案。以下是具体步骤:

    • 转到“构建设置”

    • 向下滚动到“Apple LLVM 编译器 3.0 - 语言”

    • 找到“Other C Flags”,选择“Release”行

    • 双击右数第二列中的单元格

    • 点击“+”并写上“-mno-thumb”

    【讨论】:

    • 最终我能做到,但系统会延迟这种情况。我必须等待一段时间。
    猜你喜欢
    • 2012-01-04
    • 1970-01-01
    • 2012-02-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多