Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What determines if an iOS app gets the new look in iOS 7

Tags:

xcode

ios

ios7

What exactly does iOS 7 use to determine whether the application should be displayed with the traditional iOS 6 style UI (aka iOS6 compatibility mode), or the newer iOS 7 UI?

  • If I build our app in Xcode 5, with base SDK set to 7 I get the iOS 7 UI as expected
  • If I build our app in Xcode 5, with base SDK set to 6 I still get the iOS 7 UI (unexpected, happens on real device and simulator)
  • If I build in Xcode 4.x, I get the older UI as expected

In all cases, the deployment target is set to 5.

Since our app has fairly custom UI we're not ready to move to the new look of iOS 7 yet. However we do need to make some backend changes to support iOS 7 which we need to release now. Can we still submit apps built with Xcode 4.x and expect them to be accepted?

like image 228
Brad Robinson Avatar asked Oct 03 '13 07:10

Brad Robinson


2 Answers

For the time being, you are able to. Apple will make an announcement when they stop accepting apps built with Xcode 4.x. My company is currently submitting apps with Xcode 4.6 since we do not have a new enough operating system for 5. I suspect it will be at least a few months until they stop.

like image 170
borrrden Avatar answered Nov 14 '22 03:11

borrrden


Running against 6.1 Base SDK should do it.

However, as I discovered yesterday. Anything less than 7.0 Base SDK isn't supported by Xcode 5 (officially) and so it is undefined behaviour.

My app suddenly switched from iOS6 UI to iOS7 UI with no code changes.

In the end I restarted my mac and phone, deleted the app, deleted derived data and reinstalled cocoapods and it was working on iOS6 UI again.

like image 2
Fogmeister Avatar answered Nov 14 '22 05:11

Fogmeister