Reputation: 6699
I have an app built for iOS6 in XCode 4. If I run the app on iOS7, it looks and behaves perfectly - exactly the same as it always used to in iOS6.
However, if I simulate the app in XCode 5, there are several problems, even though I leave the target OS the same. This doesn't make sense to me. Do I have to continue to use XCode 4 if I need to make minor changes to the app without doing a major migration (changing how buttons look, etc.)?
Upvotes: 1
Views: 504
Reputation: 9650
Your app compiled in XCode 4 most likely has a target SDK of iOS6. When its run on iOS7, iOS7 detects that the app was never compiled against the iOS7 SDK and runs it under 'iOS6 compatibility' mode. That's why it looks great.
When you compile your app in XCode 5 its target SDK is most likely iOS7. When you run that version on iOS7, iOS7 determines that your app 'fully supports' iOS7 and applies all the new UI metrics which probably throws off your layout and makes your UI look incorrect.
Upvotes: 7
Reputation: 45220
I was surprised by it too and here is what I think:
It looks like apps that was built against iOS 6 SDK look exactly like in iOS 6 (even the keyboard is the same). But when you test your apps using Xcode 5 and built it against iOS 7 SDK, they look "awful".
Upvotes: 0
Reputation: 816
First thing - Check the Xibs/storyboards that you have, in the properties make sure "View as" has iOS 6.1 and earlier is selected otherwise it will appear as iOS7.
Upvotes: 0