问题
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.
回答1:
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.
回答2:
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.
来源:https://stackoverflow.com/questions/5737259/support-armv6-and-armv7-in-the-same-ipa