How to still use iOS6 UI in iOS 7? - ios

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

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.

You can enforce iOS 6's UI in your app:
[[NSUserDefaults standardUserDefaults] setObject:#(YES) forKey:#"UIUseLegacyUI"]

Related

keep the look of my ios app like it is in ios6 rather than ios7

I have an ios app which was developed during ios5 to ios6
after updating my iPhone to ios7, there's something wrong with it.
For example, I had a textfield in an alertView which was supposed to input some password of the users, but in ios7 the interactors change a lot and the textfield is gone.
Also lots of other UI elements change greatly including switches, buttons, etc.
The UI of my app is not really flat style and it does not fit ios7 looks.
I'm gonna update my app to fix the problem of alertView,
but is there anyway that I can keep the interactors(buttons, switches, alertView, etc.) as the same as ios6?
Thanks a lot!
If you build your app with pre-Xcode 5, then it will retain the look and feel of iOS 6, even on iOS 7. But if you build your app with Xcode 5, then it will have the new iOS 7 look and feel when run on iOS 7.
However, you specifically mention UIAlertView, which is an exception. Even for existing apps that haven't been rebuilt with Xcode 5, the UIAlertView will always appear with the iOS 7 look when run on iOS 7. There's nothing you can do to have the old UIAlertView when on iOS 7.
From the sound of your question, it sounds like you're manually adding your own text field to a UIAlertView. You should never manually add views to a UIAlertView. Apple does not support this, and it appears that it is broken with iOS 7 anyway. If you look at the documentation for UIAlertView, you'll see that you can make it display a text field, including one for password input, that should fit your needs. So I would suggest updating your app to properly use the built-in text field functionality of UIAlertView.
As for keeping your app with the old look and feel, starting February 1st, Apple will stop accepting apps into the app store that are built with an Xcode version earlier than Xcode 5. So all new app submissions at that point will have the new iOS 7 look and feel when run on iOS 7. So whether you like it or not, you're going to have to deal with revising your UI to fit in with the look and feel of iOS 7.
You can do it through setting the Base SDK of your project target as iOS 6.1.
To do this , first go to Xcode 4 (Xcode.app), right click->Show Package Contents -> Contents->Developer->Platforms->iPhoneOS.platform->Developer->SDKs and copy the iPhoneOS6.1.sdk
Then go to Xcode5(Xcode.app),right click->Show Package Contents -> Contents->Developer->Platforms->iPhoneOS.platform->Developer->SDKs and paste the copied iPhoneOS6.1.sdk
So its looks like as below,
Then Quit Xcode5 and re-open Xcode5 ->Project Target->Build Settings->Base SDK and set it as iOS6.1
You can select the desired simulators from Xcode.
If its not availble, go to Xcode->Preferences->Downloads and download the simulators

iOS 7 keep iOS 6 UI [duplicate]

This question already has answers here:
How to still use iOS6 UI in iOS 7?
(2 answers)
Closed 9 years ago.
I have design that is correspond to iOS 6. I know that iOS 7 has many differences in UI, but can I keep iOS 6 UI (like back button, tab bars, alerts) and at the same time let users install app on theirs devices with iOS 7.
So I mean even if user run on iOS 7 the UIControl back button from navigation bar does not change its appearance and stay with iOS 6 design.
Yes, if you keep and build app in IOS SDK 6 and Xcode 4.6 and then install app in IOS 7, it will keep your old GUI but some part will convert to IOS 7 GUI such as UIAlertView and UIActionSheet
It is possible only with xCode 4.
If you want to do it in xCode 5 - you need to use custom graphics so UI will look similar on both iOS versions.
I use two versions of XCode, one with the old SDK and one with the new! If you create the app with iOS6 elements, that is the way it will look on all iPhones. Except for a couple of things like the UIAlertView and UIActionsSheet, just like kokx explained.
You can use legacyUI method. Just put the below code in your Appdelegate
[[NSUserDefaults standardUserDefaults] setObject:#(YES) forKey:#"UIUseLegacyUI"]

How to disable iOS 7 interface changes in my app

i have an app that perfectly work in iOS 6, and when i update my iPhone to iOS 7 that was still work fine.
Then i update my XCode, and made some minor changes in my app (i did hide 2 UINavigation back bar buttons). After that i update my app (i want to point that i didn't change interface of my app), and when i update it from appStore and launch it on my iPhone there was a completely disaster. Interface objects such as segmented control or UIDatePicker automatically changes for iOS 7 version (style, color), back bar button item change it style, etc.
My question is, how can i force my app to launch on iOS7 with previous (iOS 6) design?
Replacing all the native views (switches, date pickers, alerts, action sheets, table views etc) by your own views that replicate iOS 6 appearance.
There are some open-source solutions, too.
However, it will be very hard, don't expect to do it in a few days.
Recommendation? Don't do it. Modify the apperance of your application for iOS 7. The users will expect it. You can't leave your application forever with deprecated appearance. I understand your feelings (my apps look terrible, too) but staying with iOS 6 appearance is not the solution.
You can build your app with iOS 6 SDK. But it can be only a temporary solution because Apple will not accept such apps in few month, I think.
Here you can see how to add SDK to Xcode:
Is it possible to install iOS 6 SDK on Xcode 5?

I want to see the old buttons in my app in iOS 7

I'm really newbie in iOS development and I have an app that was developed with Xcode 4.6 and was running in iOS 6.1 (https://itunes.apple.com/br/app/unipay/id670441051?mt=8), but after I download the new Xcode (few hours ago) and try to run in my iPhone, what happened is that the layout was completely broken, because the new iOS changed automatically the old buttons to the new iOS buttons:
[Take a look in "Login" and "Cancelar" (cancel) buttons bellow]
https://devforums.apple.com/servlet/JiveServlet/showImage/28931/foto.png
Other thing that happened is taht the phrase in top of this app was white, but now is black.
So, the question is: how to back the layout to the old layout, without the brand new of iOS 7? I need to do this now because I have some important issues that I need to fix and send to Apple Store before change the layout of my app (that my team already is developing a brand new design for that).
Thank you!
Build your app. against sdk 6.1. App. will keep working for iOS 7. and you still can publish this version to the apple store.
Your only option is to restyle the buttons to look like how they used to - if that is truly what you want the app to look like. The more logical solution is to redesign your app for the new iOS 7 look and feel just as Apple have done and other developers are doing.

Using iOS 6 theme for iOS 7 app

I am curious: is there a way to set an iOS 7 app to run with the old fashion iOS 6 visual appearance? I am aware of the UIAppearance protocol but setting the appearance for each individual element seems to be a bit of hassle.
Update: It is no longer possible to upload apps targeting the iOS6 SDK.
Short answer: Compile with SDK6, while it is still possible. Eventually, Apple will deny this, however.
If you are feeling adventurous, try:
[[NSUserDefaults standardUserDefaults] registerDefaults:#{ #"UIUseLegacyUI": #YES }];
(Don't submit your apps with this, however.)
I've tested an old app that I submitted to app store 2 years ago that compiled with iOS 6, before they introduced iOS7. I can confirm that the answer I picked was not entirely correct.
When running on iOS 7 device, the app I made for iOS 6 was a mix of both - 50% looking like iOS 6, 50% like iOS 7. It was compiled with xCode 4.3 or something, with base SDK being iOS 6.
For example, the toolbar and tab bar look like iOS 6, while the alert view looks like iOS 7.
The app that I made was called Social Comics in case you want to have a look yourselves. I made this app not long after I graduated and haven't update it for 2 years so don't laugh if it looked dated...
Compiling with SDK6 in XCode 5 won't help you much. You'll still get the iOS 7 look if you won't customize it your self to look like iOS6. Check my answer here: https://stackoverflow.com/a/18954491/1578927

Resources