iOS Simulator测试中如何强制设置默认指定键盘?
搞定iOS Simulator默认键盘指定问题
嘿,当然可以指定Simulator默认用的键盘!我之前也遇到过类似的本地化键盘问题,给你分享几个靠谱的解决方法:
一、直接在Simulator系统里改(最省心)
这是最直观的操作步骤:
- 先让Simulator回到主屏幕:点顶部菜单栏
Hardware→Home,或者快捷键Shift+Cmd+H - 找到「设置」App打开,依次点
通用→键盘→键盘→添加新键盘 - 在列表里找到「简体中文」选上,添加完成后回到键盘列表页面
- 把「简体中文」拖到最顶部,这样它就会成为默认键盘
- 重启你的App,再点文本框试试,应该就会弹出中文键盘了
二、通过Scheme启动参数强制指定(适合开发调试)
既然你是用Scheme options运行的,那直接在Scheme里加参数更高效:
- 在Xcode顶部点Scheme下拉框,选
Edit Scheme - 左边选
Run,然后切到Arguments标签 - 在
Arguments Passed On Launch里加两行:
这俩参数分别强制App用简体中文语言和中国地区,Simulator会自动匹配对应的默认键盘-AppleLanguages (zh-Hans) -AppleLocale zh_CN
三、代码里针对特定文本框设置(精准控制)
如果只是想让某个文本框默认弹中文键盘,也可以在代码里直接配置:
// Swift 示例 // 先设置App语言环境 UserDefaults.standard.set(["zh-Hans"], forKey: "AppleLanguages") UserDefaults.standard.synchronize() // 给文本框指定键盘类型 yourTextField.keyboardType = .default
// Objective-C 示例 [[NSUserDefaults standardUserDefaults] setObject:@[@"zh-Hans"] forKey:@"AppleLanguages"]; [[NSUserDefaults standardUserDefaults] synchronize]; yourTextField.keyboardType = UIKeyboardTypeDefault;
建议在application:didFinishLaunchingWithOptions:里执行语言设置,确保App启动就生效。
小提醒
- 确认下你的App Info.plist里已经加了中文本地化(你说已经支持了,这条忽略就行,要是没生效可以检查下
Localizations里有没有zh-Hans) - 要是加完键盘还是不显示,重启下Simulator,有时候缓存会搞鬼
内容的提问来源于stack exchange,提问作者coco




