iOS keyboard is part of development sdk? - ios

I have compiled an iOS application using iOS 6 sdk. When i run this application in iOS7 it shows iOS7 default UIAlertView and UIActionSheet i.e. of white color. But the keyboard displayed is of traditional Grey color i.e. of iOS6.
It seems that UIAlertView and UIActionSheet is part of iOS and code just trigger them to display while keyboard is part of development sdk since i compile with sdk7 it shows white keyboard and when i compile with sdk6 it displays grey keyboard in device running iOS7. Please tell is that the case or i am mistaken somewhere
Is there is anyway that i compile code using iOS6 sdk and display white keyboard in iOS7.

No there is not way to get the new iOS 7 keyboard with the iOS 6 SDk.
For compatibility reasons the old keyboard is shown, in iOS 7 the keyboards is translucent and show the underlying view thru it.
To make sure old apps don't break iOS 7 will show the old keyboard when the app is not compiled with the iOS 7 SDK.

As you said, external views that you use like UIAlertView are part of the operative system, so calling them will call the new ones, while the keyboard depends on the SDK you use to compile.
I don't think there's any way of showing the new keyboard without compiling with iOS7

Related

Unable to select my custom keyboard from the available keyboards list

I'm developing a custom keyboard app for iOS devices. After adding keyboard extension to my app I added a TextView to Main.storyboard and then I ran my app on an iPhone 5 simulator.
For adding my custom keyboard to available keyboards list I went to Settings > General > Keyboards > Add new Keyboard & here I added my custom keyboard but when I'm returning back to my app and trying to select my custom keyboard by long pressing the globe icon, my custom keyboard has not been shown there.
What's the matter here?
Please reply & I'm sorry for no code as I haven't coded any yet.
Thanks in advance
Please neglect the mistakes!
There is a bug concerning the simulator.
Either you run your extension on a real device or you can use the Photo app or Safari browser of the simulator to test your extension.
general article about developing iOS keyboards (head for “The Simulator”)
As of Xcode 6.1, you can no longer open 3rd party keyboards in most apps in the Simulator, including your own. (And not just 3rd party keyboards: most system keyboards refuse to show up, too.) Not only does this make debugging a whole lot harder, but it also prevents you from easily making screenshots of your keyboard if you don’t own some of the newer devices. This issue is marked as a bug in Radar, and seeing as how it first appeared in the Xcode 6.1 betas, I cannot fathom how it got through to release.

How do I hide the Keyboard Form Accessory Bar in my Cordova / PhoneGap app on iOS 8? [duplicate]

This question already has answers here:
Hide toolbar above iPhone keyboard, PhoneGap
(4 answers)
Closed 4 years ago.
I've upgraded Cordova to 4.2.0 and my iOS project has been upgraded to 3.7.0. Everything seems to work fine except the iOS keyboard is now showing the form accessory bar in iOS 8 (next previous arrows with done button).
In config.xml, HideKeyboardFormAccessoryBar is set to true which is still working as expected for the app on iOS 7. Now on iOS 8, the bar in not hidden.
<preference name="HideKeyboardFormAccessoryBar" value="true" />
I've also set it within the js:
Keyboard.hideFormAccessoryBar(true);
After further research, I've learned that the Keyboard plugin is no longer being maintained. Is there another way to hide this form accessory bar on iOS 8? It's not a big problem but makes it obvious that the app is non-native and I'd like to avoid that.
I was able to solve this issue by using a completely different keyboard plugin for Cordova, the Ionic Keyboard plugin. https://github.com/driftyco/ionic-plugins-keyboard
You can install it with the following:
cordova plugin add com.ionic.keyboard
To hide the keyboard form accessory bar you execute the following:
cordova.plugins.Keyboard.hideKeyboardAccessoryBar(true);
There is a slight flicker as the the accessory bar is hidden when the keyboard appears for the first time but it works fine otherwise on both iOS 7 and iOS 8. I've tested on iPhones and iPads. I hope this helps someone. If anyone knows how to avoid that initial flicker, please share.

Keyboard animation issue on iOS 7 devices

I was working with Xcode 4.6 with iOS 6 SDK for building our iOS app. Recently we migrated to Xcode 5 which comes with iOS 7 built-in. After migrating to iOS 7 SDK, lot of weird things are happening e.g. status bar issue, keyboard animation mess up and UIImagePickerController status bar issue.
I am not finding any solution for the weird keyboard animation issue. When I tap the username text field in my login screen, entire view is going up till the text field and its not scrollable also. Its totally screwed up. Please note that mine is a hybrid application built using cordova library. So, all the UI elements are designed in HTML5. Below are two screenshots for the key board issue.
Please suggest me how to fix this… Thanks in advance….
That seems to be a problem in web view's on iOS7. We have the same problem.
It seems fixed in iOS 7.1.

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 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?

Resources