开发者

Support armv6 and armv7 in the same ipa

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)
  • B开发者_JAVA百科uild 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.


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:

file myApp.app/myApp

in terminal will then print what it contains for you to double check. It should list the 2 architectures.


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.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜