支持armv6和armv7在同一个ipa中

Ray*_*eck 5 xcode armv7 armv6 ios

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

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

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

只是好奇.谢谢.

McC*_*nus 10

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

file myApp.app/myApp
Run Code Online (Sandbox Code Playgroud)

然后在终端中打印它包含的内容供您仔细检查.它应该列出2个架构.


Jer*_*man 5

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

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