我一直在努力快速解决这个问题iPhone: Change Keyboard language programmatically,但发现无法解决的问题,
此方法使我的应用程序崩溃
UITextInputMode.activeInputModes() //this crashes
此方法是在Objective C中此方法的快速模拟形式
[UITextInputMode activeInputModes] //this works ok
这是崩溃
所以我的问题是:这是Swift中的错误吗?还是我做错了什么?
最佳答案
这似乎是iOS 9 SDK的错误。
Objective-C标头如下:
+ (NSArray<NSString *> *)activeInputModes; // The activate input modes.
应该是:
+ (NSArray<UITextInputMode *> *)activeInputModes; // The activate input modes.
肮脏的解决方法:
let aaa = (UITextInputMode.self as AnyObject as! NSObject).performSelector("activeInputModes").takeRetainedValue()
您应该尽快将错误报告发送给Apple。