5

From the transition guide from apple I know that there is no rounded rect button in iOS 7, but when I see many "old" apps that run in iOS 7 are still in iOS 6 style.

I have recently developed an app in iOS 6, everything is good. But after iOS 7 published, I have to change a lot UI, for example, the navigation bar and bar button item. But I really do not want to adopt iOS 7 style , but with my app, UI cannot adopt itself to iOS 6 . Even I use the iOS 6 SDK, and publish my app in iOS 7 in iPhone 5, it still use the iOS 7 style and looks terrible.

Any ideas and suggestions? Thanks

JimZ
  • 1,182
  • 1
  • 13
  • 30
  • 2
    Custom components will be the only way around it, most likely. – Luke Oct 04 '13 at 11:17
  • Try this way.. [IOS & DISPLAY][1] OR This.. [Status Bar Issue][2] [1]: http://stackoverflow.com/a/19042940/1673099 [2]: http://stackoverflow.com/questions/19158325/status-bar-issue – user1673099 Oct 04 '13 at 12:06
  • @user1673099 I think the question is about NOT CHANGING UI design, so it means JimZ asked about support iOS 6 UI on devices with already installed iOS 7. am I right? – Matrosov Oleksandr Oct 28 '13 at 22:48
  • @MatrosovAlexander yeah, but now I almost changed all UI to suite iOS 7 – JimZ Oct 29 '13 at 03:24

2 Answers2

10

You can enforce iOS 6's UI in your app:

[[NSUserDefaults standardUserDefaults] setObject:@(YES) forKey:@"UIUseLegacyUI"]
Felix
  • 35,354
  • 13
  • 96
  • 143
  • @LeoNatan Not that want to use it and I think I know why but I am going to ask still. Why is it not accepted by the AppStore? – Popeye Oct 04 '13 at 11:32
  • `UIUseLegacyUI` is a private key, not exposed normally. Moreover, it creates situations where the UI may break (for instance, view controllers only available for iOS7, not designed to work with the legacy UI). What reason does Apple have to allow it? – Léo Natan Oct 04 '13 at 11:36
  • @LeoNatan That sounds fair. I was thinking they didn't allow it so it forced developers to move to the new UI. So it would be rejected under `2.5 Apps that use non-public APIs will be rejected`. To be honest I would like to upvote your comment but I can't so I have upvoted your answer, I also think it would be good to just include this in your answer as I wouldn't have known this and I would have used it willy nilly. – Popeye Oct 04 '13 at 11:42
  • 1
    @Popeye Added a reference to this in my answer. – Léo Natan Oct 04 '13 at 11:54
  • not sure Apple wouldn't accept it according to http://jeffreysambells.com/2014/01/10/legacy-ui-with-xcode-5-and-ios-7-sdk problem is it doesn't work on iOS 8, so would need 6.1 base SDK to get the much better look. – colin lamarre Mar 14 '15 at 06:45
9

It is time to change. This is how Apple sees its operating system. Older apps are already making people angry because they look outdated (look at the backlash WhatsApp is facing for not releasing an update on time). You should get on with the times, take the time and update your UI.

As a short-time solution, you can still upload to the AppStore with Xcode 4.6, compiling against the iOS 6 SDK. But this is only temporary, and you should update your UI as soon as possible.

The UIUseLegacyUI route, suggested in another answer, is a fun way to have fun with the frameworks, and perhaps experimenting, but will not be acceptible on the AppStore due to use of private and probably future-unsupported API.

Léo Natan
  • 56,823
  • 9
  • 150
  • 195
  • "It is time to change" But usability? Is that no longer important? – zaph Jan 08 '14 at 14:40
  • @Zaph This is the usability Apple has deemed fit for their system. You are a player in their system. – Léo Natan Jan 08 '14 at 17:13
  • It isn't usability if the user can't easily see what is a control. Apple, Jony Ive in particular, is destroying the greatest feature of iOS, ease of use. And they are back-peddling in 7.1 but with settings the average use will not find. – zaph Jan 09 '14 at 13:06
  • 1
    @Zaph That is your opinion. You are certainly entitled to it. But you have chosen this ecosystem, which is set tightly by the rules of Apple. If you no longer like the ecosystem, you are entitled to, and are able to leave. – Léo Natan Jan 09 '14 at 14:49
  • I did not choose the mess that Jony Ive has created through his ignorance. FWIW, I have been an Apple developer since the '80s, I've seen Apple recover from bad decisions before, hopefully it will again. YMMV – zaph Jan 09 '14 at 15:51
  • I did not choose the mess that Jony Ive has created through his ignorance. FWIW, I have been an Apple developer since the '80s, I've seen Apple recover from bad decisions before, hopefully it will again. Checkout these images and it is clear Apple is confused: [Beta images](http://macdailynews.com/2014/01/08/apple-makes-ui-changes-in-ios-7-1-see-the-progression-from-beta-1-beta-3/) YMMV – zaph Jan 09 '14 at 16:00
  • 1
    @Zaph I don't see it as confusion. I see it as something that is still very young and very much alive. There have been more changes in these betas than from iOS4->5->6. – Léo Natan Jan 09 '14 at 16:10
  • @LeoNatan Do you have evidence of Apple rejecting apps that set the `UIUseLegacyUI` default key? – Nikolai Ruhe Feb 24 '14 at 09:54
  • @NikolaiRuhe You are welcome to try and get burned. I wouldn't risk it. – Léo Natan Feb 24 '14 at 15:05
  • This isn't an answer to the question. He's asking how to keep the iOS 6 GUI, and you tell him not to. It's our choice, not Apple's. There are plenty of apps that don't use any of Apple's provided GUI, so why do you think we shouldn't do it? Oh well, I'll go find the answer somewhere else. – sudo Mar 15 '14 at 20:36