How to disable iOS 7 interface changes in my app - ios

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?

Related

Ionic3 - iOS - Slide Menu Styling Issues

I am having an issue with my app's sliding menu (segment) buttons. Two of the three buttons text are filled blocks, and I did not make any recent style changes to the app, let alone the app.scss file.
I am only seeing this on iOS devices (using an iPad mini and iPhone XS), not on ionic serve and Xcode simulators.
Is there a way to figure out the cause of this styling issue, or at least replicate the bug on either the Xcode simulators or ionic serve. I tried development and production builds, no difference.
My only guess is maybe something dealing with the new changes made with iOS Mojave as it made changes to the iOS app structure.
I am using a work-around by changing the font color to something close to the original.
Ex.
#777 to #777776
There has to be a reason it is doing this with just #777 or #fff.

Could Xcode be responsible for button formatting differences?

I've inherited an iOS app the was probably developed in Xcode 4. I'm using Xcode 6, and also have access to Xcode 5. The production executable of the app I'm working on shows buttons with white text and a blue background. However, the code I'm running shows the buttons with blue text and a transparent background.
I normally would attribute this to code or xib file changes. But the versions I've checked out should correspond to the production version. So I'm wondering if perhaps there's something on my machine that could be responsible?
If you're running on Xcode 5 or 6, then you're building against the iOS 7 or iOS 8 SDKs (unless you hacked your installation).
As you probably know, iOS 7 introduced major visual changes to the SDK, so it's normal for the app to have a significantly different appearance.
You can verify this by downloading Xcode 4 here.

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

How to still use iOS6 UI in iOS 7?

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"]

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.

Resources