Question

I have an app that is targeted mainly for iPads, and I want the users to be able to still use their original iPads (iOS up to 5.1). On the other hand my app should look like a “native” iOS 7 app when run on an iOS 7-device.

When I select SDKROOT (Base SDK) as iOS 7 and the deployment target as 6.0, the app runs fine on both systems, showing the respective look & feel. But since I want my app to run on 5.1 also, I set the deployment target to 5.1 (I copied the iPhoneOS5.1.sdk to Xcode 5 according to the answers of this question). The app then runs on 5.1, 6.0 and 7.0, but it (almost) looks like an iOS 6 app on iOS 7.

This is what I found when dealing with the compiler settings (depending on settings, app runs on what iOS version):

compiler settings table

So, is this possible: One app, native look & feel on iOS 5.1, iOS 6 and iOS 7?

Thanks for any help.

Was it helpful?

Solution

It turned out that I ran into an installation/configuration problem by adding the iPhoneOS5.1.sdk to Xcode 5. When I upgraded to Xcode 5.0.2, I did not add that SDK again and now I got what I requested: I can set the Base SDK to 7.0 and Deployment Target to 5.1, then I get native L&F on all iOS versions.

I just have to make sure that I don’t use features introduced later than 5.1 without checking for the OS version (Look here for how to check the OS version).

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top