The v6.4.2 release does not implement new features but is adjusted to the latest changes in iPhone development.
Xcode 4 no longer allows you to link static libraries, built for armv6 devices into applications built for armv7 devices. This means you can’t use libraries built for iPhone 2G and 3G, iPod Touch 1st, 2nd and entry models of 3rd gen. on any of those: iPhone 3GS and 4, iPod 3rd and 4th gen., iPad 1 and 2.
Because of this, we are now delivering Universal armv6/armv7 binaries instead of armv6-only binaries with the Photon iPhone Client SDKs.
This change comes with a few side-effects:
- The linker flag âall_loadâ will produce multiple definition errors with the Photon libs due to a bug in the Xcode libtool.
If you are using it as a workaround for the Xcode categories bug, then please use force_load instead
- The size of all libraries doubles up, as they effectively are the sum of two builds, optimized for different CPUs.
The release-builds are still quite small, while having all debugging information stored twice is adding quite a bit of size for the debug builds. Make sure to make a “release” build for the app store. This gives better performance anyway.
- Armv7 devices will see a small performance increase, as they do not have to run the Photon code with armv6 instruction set anymore. The main-differences between armv6 and armv7 layout are affecting floating point-operations though and our library does not use them extensively.
Aside from the switch to universal binaries, this release is identical to the previous 6.4.1 release.