There are elements like UITableView
s, UINavigationBar
s that have a different style on iOS 7.
This style is determined at run time, since those
I can't be certain, but this is one guess about how it is done. Because they know what SDK version your app was linked against, they version out the framework on iOS 7 devices. So there is a hierarchy on the filesystem along the lines of /.../iPhoneOS6.1.sdk/.../Frameworks/UIKit
. Then when it loads your app, they can just set the search path for libraries to point to whichever SDK your app was linked against.
This is how Xcode does it right now. Inside the Developer directory inside the Xcode package is an SDKs directory, which, in turn, contains all the different SDKs to link against.