支持armv6和armv7在同一个ipa中

时间:2011-04-20 22:12:58

标签: xcode ios armv7 armv6

我有一个像这样配置的XCode项目:

  • 项目格式:XCode 3.1兼容
  • 架构:标准(armv6 armv7)
  • 基础SDK:最新的iOS(目前设置为iOS 4.2)
  • 仅构建活动架构:UNCHECKED
  • 有效的Architecures:armv6 armv7

我的问题:生成的二进制文件(.ipa)中是否有2个可执行文件 - 每个体系结构一个,或者每个体系结构只有一些不同的目标文件,或者是比这更精细的分割?

好奇。 感谢。

2 个答案:

答案 0 :(得分:10)

根据您的描述,ipa应该具有arm6和arm7的多架构二进制文件。您可以使用终端中的file命令进行检查。您的应用包内部是一个可执行文件,其名称与应用程序名称相同, myApp.app/myApp 。输入:

file myApp.app/myApp
然后终端中的

将打印它包含的内容供您仔细检查。它应该列出2个架构。

答案 1 :(得分:5)

它将生成两个二进制文件,然后将它们粘在一起,形成一个所谓的“胖二进制文件”。您可以使用lipo命令在自己的同一个可执行文件中粘贴多个体系结构。

澄清:您将在一个文件中包含两个可执行文件。这在逻辑上是单个可执行文件(两者都是您的应用程序),但是一个版本针对一个架构而另一个版本针对另一个架构。