You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多
文档控制台
免费开始使用

iOS Simulator测试中如何强制设置默认指定键盘?

搞定iOS Simulator默认键盘指定问题

嘿,当然可以指定Simulator默认用的键盘!我之前也遇到过类似的本地化键盘问题,给你分享几个靠谱的解决方法:

一、直接在Simulator系统里改(最省心)

这是最直观的操作步骤:

  • 先让Simulator回到主屏幕:点顶部菜单栏HardwareHome,或者快捷键Shift+Cmd+H
  • 找到「设置」App打开,依次点通用键盘键盘添加新键盘
  • 在列表里找到「简体中文」选上,添加完成后回到键盘列表页面
  • 把「简体中文」拖到最顶部,这样它就会成为默认键盘
  • 重启你的App,再点文本框试试,应该就会弹出中文键盘了

二、通过Scheme启动参数强制指定(适合开发调试)

既然你是用Scheme options运行的,那直接在Scheme里加参数更高效:

  • 在Xcode顶部点Scheme下拉框,选Edit Scheme
  • 左边选Run,然后切到Arguments标签
  • Arguments Passed On Launch里加两行:
    -AppleLanguages (zh-Hans)
    -AppleLocale zh_CN
    
    这俩参数分别强制App用简体中文语言和中国地区,Simulator会自动匹配对应的默认键盘

三、代码里针对特定文本框设置(精准控制)

如果只是想让某个文本框默认弹中文键盘,也可以在代码里直接配置:

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

火山引擎 最新活动