我有一个项目被配置(我想)来生成通用二进制文件。基础SDK设置为3.2,Deployment Target设置为3.1。目标设备系列为iPhone/iPad,架构为armv6 armv7。
我对通用二进制的工作原理有几个问题:
1)当我想要提交一个app二进制文件进行审核时,我应该将什么配置设置为构建目标?如果我将它设置为"Device - 3.1“,我会收到一个警告,上面写着"warning: building with Targeted Device Family" that includes iPad('1,2') requires building with the 3.2 or later SDK"
。但是,如果我用SDK3.2构建,它还能在OS3.1的iPhones上运行吗?什么是设备和架构(arm6/arm7)的正确配置?
2)如何测试上面的场景(使用SDK 3.2构建,但安装在运行OS 3.1的设备上)?如果我使用SDK 3.2构建,当我尝试将其安装到OS3.1的手机上时,我得到一个错误,说手机的操作系统没有更新。
谢谢!
发布于 2010-05-19 16:43:54
我们的第一个通用应用程序今天刚刚在App Store中获得批准并发布,所以这里是我们成功使用的设置:
架构
架构:优化(armv6 armv7)
基础软件开发工具包: iPhone Device 3.2
仅构建活动架构:未选中
有效架构:(空)
部署
目标设备系列: iPhone/iPad
iPhone OS部署目标: iPhone OS 3.0
(您可以将其设置为任何iPhone 3.x操作系统,但我们希望尽可能针对最旧的设备。必须为3.0或更高版本,2.x对于通用应用程序无效。)
确保您也检查了目标本身的这些设置(项目->编辑活动目标"AppName");我在上传到iTunes连接时的最初问题是因为目标本身的iPhone OS部署目标仍然设置为2.2.1。
发布于 2010-05-19 15:32:54
因此,关键似乎是除了将"Valid Architecture“设置为"armv6 armv7”之外,还应将“Architecture”设置为"Optimized (arm6 arm7)“。
这使得它可以使用3.2SDK进行编译,并在运行3.1版本的iPhone上运行
除了上面的更改之外,我在问题中的设置似乎是将应用程序配置为通用二进制提交所需的设置。我还没有做过,但我相当有信心。
如果我说错了,请纠正我。
https://stackoverflow.com/questions/2862537
复制相似问题