【问题标题】:How to test a new app on old hardware? (Xcode 4.3.2 with base SDK iOS 5.1; test-device is iPhone 3G with iOS 4.2.1)如何在旧硬件上测试新应用程序? (Xcode 4.3.2 和基本 SDK iOS 5.1;测试设备是 iPhone 3G 和 iOS 4.2.1)
【发布时间】:2012-04-05 17:50:12
【问题描述】:

我正在开发一个 iPhone 应用程序,它不仅可以在新 iPhone 上运行,而且还可以在旧设备上运行。因此,为了进行测试,我确实将配置文件加载到我的旧 iPhone 3G (iOS 4.2.1) 并将其与我的 mac 连接。在 Xcode 中,我也确实将 iOS 部署目标设置为 3.0。使用此设置,该应用程序可以在 iPhone 4 上运行,但不能在我的旧 iPhone 3G 上运行。

我知道我还必须将架构从armv7 设置为armv6,但是当我输入“armv6”时它会跳回“armv7”。

那么,我必须做什么才能在旧设备上测试新应用?我必须输入什么值,我必须在哪里输入它们?我需要为实际的 SDK 下载一些插件吗?

【问题讨论】:

    标签: ios xcode armv6


    【解决方案1】:

    我们正在为我工​​作中的一些应用程序在 iOS 4 和 3 上测试应用程序,通常两个关键点是手臂架构和部署目标,正如您已经指出的那样。

    首先,如果您有多个目标,请确保您在任何地方都有正确的配置。

    其次,您指出 armv7 “跳转”回 armv6。 它不应该发生。 确保在第一行使用“armv6”,在弹出窗口的第二行使用“$(ARCHS_STANDARD_32_BIT)”正确输入此字段。

    最后,当您尝试启动应用程序时,您的控制台中是否有任何警告或消息?

    【讨论】:

    • 即使您输入 "armv6" "$(ARCHS_STANDARD_32_BIT)" ,armv7 conf 是否仍会返回?查看您的解释,很有可能它不起作用,因为该应用程序是为 armv7 架构构建的......
    • 对不起,我没有看到你的第一条评论,通常最后是 TARGETS 条目(默认情况下项目值很重要,但值可能已经改变,所以我邀请你检查)。在那里您将找到构建目标(通常您将有一个用于应用提交的发布目标和用于开发的目标,这是您需要检查的目标)。
    • 当我尝试在 iPhone 3G 上启动应用程序时,没有任何警告或错误消息。它根本不会加载到手机上。在 Xcodes Header 中间的浅蓝色显示中,我可以读取,正在构建,然后我收到消息“Running on ...”(无法读取其余部分,因为它消失得如此之快)然后,之后不到 1 秒:“完成在 old_iPhone 上运行 ToDO&Project - 没问题”。您究竟是如何输入“armv6”的?你在哪里输入的?
    • 查看stackoverflow.com/questions/8127343/…stackoverflow.com/questions/6378228/… 似乎您的plist 文件中可能存在armv7 值。搜索“所需的设备功能”
    • 阅读这篇文章后-stackoverflow.com/questions/4198676/… 我能够让几个应用程序在 3G/4.2.1 上运行,这次我做的不同的一件事是选择 Combined 而不是 LevelsBuild Settings 下。这很可能会有所作为。只需确保您还删除了 plist 文件中对 armv7 的要求。
    【解决方案2】:

    XCode 带有一个 iOS 模拟器...您应该能够从 iOS 3.2 - 5.1 进行测试

    如果您还没有它,请转到 XCode 中的更新管理器并下载 iOS 5.0 模拟器。

    【讨论】:

    • 问题是,模拟器有bug。我的应用程序在模拟器和我的 iPhone 4 上表现不同。看这里:stackoverflow.com/questions/10030362 现在我想知道它在我的旧 iPhone 3G 上的表现。这就是为什么我需要在真正的旧硬件上测试应用程序。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-01
    • 2012-10-20
    • 2011-06-22
    • 2012-04-27
    • 1970-01-01
    相关资源
    最近更新 更多