iOS 模拟器 - 以编程方式禁用连接硬件键盘

Posted

技术标签:

【中文标题】iOS 模拟器 - 以编程方式禁用连接硬件键盘【英文标题】:iOS simulator - disable connect hardware keyboard programmatically 【发布时间】:2019-01-23 12:43:22 【问题描述】:

我正在编写依赖于显示软件键盘的 UITest。由于 CI 每次都在干净的新模拟器上启动测试,因此模拟器连接了硬件键盘,因此没有提供软件键盘。

是否可以设置一些设置(可能在架构中?)以强制禁用模拟器连接硬件键盘。

我正在使用 cucumber/appium 运行测试。

【问题讨论】:

【参考方案1】:

实际上我们遇到了这个问题,我们想出的唯一解决方案是在模拟器启动后立即执行“osascript”以在您的代码上运行。

osascript :基本上会检查硬件键盘,如果启用它将禁用它。

【讨论】:

感谢您的建议。我已经解决了在开始测试之前运行它的问题:'defaults write com.apple.iphonesimulator ConnectHardwareKeyboard -bool false'【参考方案2】:

有人知道如何支持 Xcode 10 吗?使用defaults write com.apple.iphonesimulator ConnectHardwareKeyboard -bool false 不起作用。

【讨论】:

实际上这行得通。我们只需要重启模拟器就可以通过“killall Simulator”了。我还尝试将这两个命令添加到我的 ui 测试方案的规定中。效果很好。在这里回答了一个可能重复的问题。 ***.com/a/57268609/1590911

以上是关于iOS 模拟器 - 以编程方式禁用连接硬件键盘的主要内容,如果未能解决你的问题,请参考以下文章

无法使用Mac键盘在iphone模拟器中键入文本字段?

iOS 在 UIWebBrowserView 上以编程方式禁用 Quicktype 键盘

以编程方式模拟 UITextField 的键盘的返回键

以编程方式设置 Xcode 模拟器、键盘和 Touch ID 设置,用于 UI 测试

在 UITextView 上以编程方式禁用 iOS8 Quicktype 键盘

在 Xcode 6 中,如何使用硬件键盘但在 iOS 模拟器中显示软件键盘