UIAppearance only works with methods specifically allocated by the UI_APPEARANCE_SELECTOR macro for compatibility, and, unfortunately, keyboardAppearance not one of them.
The best way to get what you want is to subclass UITextField and set keyboardAppearance = UIKeyboardAppearanceAlert; in subclasses of init and initWithFrame: Then use your class exclusively wherever you use UITextField in the application.
source share