构建/测试通用iPhone/iPad应用程序

问题描述:

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

我对这个通用二进制事情到底是如何工作的几个问题:

1)当我想提交应用程序二进制文件进行审查,什么样的配置应该怎么设置为构建目标?如果我将它设置为“Device - 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上运行? 设备和架构(arm6/arm7)的正确配置是什么?

2)如何测试上面的场景(使用SDK 3.2构建,但安装在运行OS 3.1的设备上)?如果我使用SDK 3.2进行构建,当我尝试将它安装到使用OS 3.1的手机上时,出现错误,说明手机的操作系统未更新。

谢谢!

我们的第一个通用的应用程序刚刚得到批准,今天在App Store发布的,所以这里我们成功地使用的设置:

架构
架构:优化(ARMv6的ARMv7的)
基地SDK:iPhone设备3.2
仅限构建主动架构:未检查
有效的架构:(空)

部署
目标器件系列:iPhone/iPad的
iPhone OS部署目标:iPhone OS 3.0
(你可以将其设置为任何iPhone 3。 x OS,但我们希望将最老的设备作为目标。请确保您也检查了目标本身的这些设置(项目 - >编辑活动目标“AppName”);这个设置必须是3.0或更高,2.x对通用应用程序无效。我上传到iTunes Connect时遇到的最初问题是因为目标本身的iPhone操作系统部署目标仍然设置为2.2.1。

+0

谢谢你这是我正在寻找的,你是否也将基础SDK设置为3.0? – Leg10n 2010-05-20 15:43:34

+0

不,基本SDK为3.2,iPhone操作系统部署目标设置为3.0(或以上)。这就是我们为我们的第一个通用应用程序所做的。 – hjd 2010-05-20 16:02:30

+1

note - 要在模拟器中运行应用程序,请将Active SDK设置为3.0至3.1.3,然后选择“运行”>“运行” – jrtc27 2010-06-12 13:20:25

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

这使得它可以编译3.2 SDK,并在iPhone上运行的运行3.1

我有我的问题的设置,除了这上面的变化,似乎是配置提交应用程序的需要什么作为通用二进制文件。我还没有做到,但我相当有信心。

如果我错了,请纠正我。