I am noticing something I’ve never seen before, and I’m hoping someone can clarify exactly what’s going on.
I put iOS 6 on my development device and then downloaded my app from the App Store. That app was created in an older version of Xcode without the iOS 6 SDK. It runs fine on my device when I go get it.
However, I now have Xcode 4.5 with the iOS 6 SDK. I open my old Xcode project, which has the same exact source code used to build the app in the app store – no changes to the code whatsoever. When I run this project again on my iOS 6 device, from Xcode, the app is buggy and does not at all behave as expected.
I know the source code is the same, so is this a result of different compiled binaries due to different SDKs?
There is a developer beta of every major version active for months before public release for reason.
A lot has changed with Xcode 4.5. iOS SDK 6.0 has many changes (iOS Developer Program required to open link), armv6 support (architecture used by iPhone 3G and older models) is gone, compiler has some new features and so on.
In short, it’s normal that code requires some maintenance when tools change.