【问题标题】:Building/Testing a Universal iPhone/iPad application构建/测试通用 iPhone/iPad 应用程序
【发布时间】:2010-05-19 02:47:12
【问题描述】:

我有一个项目配置(我认为)来生成通用二进制文件。基本 SDK 设置为 3.2,部署目标设置为 3.1。目标设备系列为 iPhone/iPad,架构为 armv6 armv7。

我对这个通用二进制文件的真正工作原理有几个问题:

1) 当我想提交应用程序二进制文件以供审核时,我应该将什么配置设置为构建目标?如果我将其设置为“设备 - 3.1”,我会收到一条警告,上面写着"warning: building with Targeted Device Family" that includes iPad('1,2') requires building with the 3.2 or later SDK"。但是,如果我使用 SDK 3.2 构建,它仍然可以在 OS 3.1 的 iPhone 上运行吗? 设备和架构(arm6/arm7)的正确配置是什么?

2) 如何测试上述场景(使用 SDK 3.2 构建,但安装在运行 OS 3.1 的设备上)?如果我使用 SDK 3.2 构建,当我尝试将其安装在具有 OS 3.1 的手机上时,我会收到一条错误消息,指出手机的操作系统未更新。

谢谢!

【问题讨论】:

    标签: iphone ipad universal-binary


    【解决方案1】:

    我们的第一个通用应用程序今天刚刚获得批准并在 App Store 上发布,所以我们成功使用了以下设置:

    架构
    架构:优化 (armv6 armv7)
    基础 SDK:iPhone 设备 3.2
    仅构建活动架构:未选中
    有效架构:(空)

    部署
    目标设备系列:iPhone/iPad
    iPhone OS 部署目标:iPhone OS 3.0
    (您可以将此设置为任何 iPhone 3.x 操作系统,但我们希望尽可能针对最旧的设备。这必须是 3.0 或更高版本,2.x 不适用于通用应用程序。)

    确保您还检查了目标本身的这些设置(项目->编辑活动目标“AppName”);上传到 iTunes Connect 时我最初遇到的问题是因为目标本身的 iPhone OS 部署目标仍设置为 2.2.1。

    【讨论】:

    • 谢谢,这就是我要找的,你是否也将基础 SDK 设置为 3.0?
    • 不,Base SDK 为 3.2,iPhone OS Deployment Target 设置为 3.0(或更高版本)。这就是我们为我们的第一个通用应用所做的。
    • 注意——要在模拟器中运行应用程序,请将 Active SDK 设置为 3.0 到 3.1.3,然后选择 Run > Run
    【解决方案2】:

    因此,除了将“有效架构”设置设置为“armv6 armv7”之外,关键似乎是将“架构”设置设置为“优化(arm6 arm7)”。

    这允许它使用 3.2 SDK 编译并在运行 3.1 的 iPhone 上运行

    除了上述更改之外,我在问题中的设置似乎是将应用程序配置为作为通用二进制文件提交所需的设置。我还没有做,但我相当有信心。

    如果我错了,请纠正我。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-03-02
      • 1970-01-01
      • 2011-02-06
      • 2011-04-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-07-24
      相关资源
      最近更新 更多