I have some static libraries compiled for iOS platforms. Libraries are compiled for iPhone device (armv6, armv7) and iPhone Simulator (i386) and then packaged into a single universal library static library (armv6, armv7, i386).
The advantage of such method is that I have to deal with a single library file. The disadvantage is that the library file size may get very big (eg: 300Mb+ for nearly all Boost C++ libraries for all 3 architectures). This will be a problem when releasing the application on the iOS App Store.
Lipo can extract the archictecture(s) the app is targeting (eg: armv6/armv7 for an iOS Device).
However, I would like to know if Xcode strips unused architecture automatically ? Eg: If I build for armv6,armv7, would Xcode remove i386 architecture ?
What are the other strategies that you use ? Eg: Create a library file per archtecture ?
Thanks