在同一个ipa中支持armv6和armv7
我有一个 XCode 项目配置如下:
- 项目格式:XCode 3.1 兼容
- 架构:标准(armv6 armv7)
- 基础 SDK:最新 iOS(当前设置为 iOS 4.2)
- 仅构建活动架构:未检查
- 有效架构:armv6 armv7
我的问题:是否生成的二进制文件 (.ipa) 有 2 个可执行文件 - 每个架构一个,或者只是每个架构的一些不同的目标文件,或者分割得更细粒度比那个?
只是好奇。 谢谢。
I have an XCode project configured like this:
- Project Format: XCode 3.1-compatible
- Architectures : Standard (armv6 armv7)
- Base SDK : Latest iOS (currently set to iOS 4.2)
- Build Active Architecture Only : UNCHECKED
- Valid Architecures: armv6 armv7
My question: Does the resulting binary (.ipa) have 2 executables in it - one for each architecture, or just some different object files for each architecture or is the split even finer grained than that?
Just curious.
Thanks.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
根据您的描述,ipa 应该具有包含arm6 和arm7 的多架构二进制文件。您可以在终端中使用
file
命令进行检查。您的应用程序包内部是一个可执行文件,其名称与应用程序 myApp.app/myApp 相同。 在终端中输入:然后将打印其中包含的内容供您仔细检查。它应该列出 2 个架构。
From what you described, the ipa should have a multi-architecture binary with both arm6 and arm7. You can check it with the
file
command in terminal. Inside of your app bundle is a executable that will have the same name as the app, myApp.app/myApp. Entering:in terminal will then print what it contains for you to double check. It should list the 2 architectures.
它将生成两个二进制文件,然后将它们粘在一起形成所谓的“胖二进制文件”。您可以使用 lipo 命令自行将多个架构粘贴到同一个可执行文件中。
澄清一下:一个文件中将有两个可执行文件。从逻辑上讲,这是一个可执行文件(两者都是您的应用程序),但一个版本针对一种架构,另一个版本针对另一种架构。
It will produce two binaries and then stick them together in a so-called "fat binary". You can play around with sticking multiple architectures in the same executable yourself using the
lipo
command.To clarify: You will have two executables inside a single file. This is logically a single executable (both are your app), but one version targets one architecture and the other version targets the other architecture.