【问题标题】:Not able to type in textfield in iphone simulator using Mac Keyboard?无法使用 Mac 键盘在 iphone 模拟器中输入文本字段?
【发布时间】:2013-09-29 13:05:09
【问题描述】:

我正在开发一个支持纵向和横向模式的基本 iOS 应用程序。当 iPhone 模拟器键盘以横向打开并且我将应用程序切换到纵向模式时,我无法使用我的 Mac 物理键盘在任何文本字段中输入任何内容。

以前有人经历过吗?这是一个已知的错误吗?

【问题讨论】:

  • 您能否提供更多信息,例如您使用的XCode版本和iOS SDK?
  • 我也有同样的问题。我有时也会在控制台中收到很长很严重的无效上下文警告。
  • 这些都不适用于 Xcode 12.3。

标签: iphone ipad ios7 keyboard ios6


【解决方案1】:

找到了适合我的绝佳解决方案。
打开模拟器,然后找到菜单Hardware -> Keyboard有三个选项:

  1. iOS 使用与 OS X 相同的布局:此选项禁用 Mac 键盘
  2. 连接硬件键盘:此选项启用 Mac 键盘,但键盘不会显示。
  3. 切换软件键盘:此选项将允许您使用 Mac 键盘进行输入,并且还会在屏幕键盘上显示 iOS。

【讨论】:

  • 这和 2020 年一样......无法在模拟器上输入,切换到硬件键盘后它可以工作
  • 选项路径现在是I/O >> Keyboard
【解决方案2】:

在 Xcode 9 中,我在使用 iPhone 8+ 模拟器时遇到了同样的问题。我能够通过这种方式解决它:

  1. 打开~/Library/Preferences/com.apple.iphonesimulator.plist文件
  2. 找到有问题的模拟器标识符(显示在设备和模拟器窗口中)
  3. CaptureKeyboardInput 值设置为YES
  4. 重启模拟器

【讨论】:

  • 谢谢。这是在 Xcode 9 中唯一对我有用的东西。尝试了硬件菜单中的各种组合,但无济于事。通过并手动将其添加到我所有的模拟人生中。还没有销毁并重新创建一个模拟,看看是否也解决了它。苹果不是第一次搞砸模拟人生,也可能不会是最后一次。 :)
  • 你应该得到一枚奖牌。
  • 这是唯一对我有帮助的修复。谢谢!
  • 什么答案兄弟,脱帽致敬
  • 是的,这就是我的答案。非常感谢
【解决方案3】:

从模拟器菜单>>硬件>>键盘>>连接硬件键盘

只需按⌘ + ⌂ + K

【讨论】:

  • 这对我有用,但在我重新启动模拟器之后
【解决方案4】:

在您开始输入之前(当屏幕键盘出现时),只需按下命令键,然后松开。这应该会重新启用模拟器中的键盘。

【讨论】:

  • 此答案在 Google 搜索问题中可见。干得好,尤金。你是怎么想出来的?比我尝试过的其他“解决方案”要好得多。
  • 在出现键盘时输入 CMD+Shift+K 两次,为我解决了问题。
  • 不能在 Xcode 9 的模拟器中工作。没有任何反应。
  • 为我工作过一次。然后键盘在不久之后再次停止为我工作,现在这不起作用。 (模拟器 v10.0,Xcode 9.2)
【解决方案5】:

启动 iOS 模拟器并启用 Hardware > Keyboard > Connect Hardware Keyboard

(您可能不小心按CMD + SHIFT + K 禁用了它 - 与 Xcode 中的 Clean 相同的快捷方式)

【讨论】:

    【解决方案6】:

    这些建议都不适合我。我关闭了 iOS Simulator 应用程序并重新启动它。这为我解决了问题。

    【讨论】:

    • 高飞。为我工作。
    • 如果您尝试使用 shift-command-k 切换键盘,那么接下来试试这个。
    • @KeithTheBiped 我尝试了 shift-command-k,但没有成功,最后重启了 ios 模拟器。
    【解决方案7】:

    在模拟器上尝试更改设备。然后在原始设备上再次运行您的应用程序。这对我有用。

    如果单独第一步不起作用,请取消选中以下选项:iOS Uses the same keyboard layout as OS X 然后更改设备。

    我想它会做一些随机的事情,直到它起作用。猴子固定。

    【讨论】:

    • 我不必执行第一步,但第二步有效。谢谢!
    • 我喜欢这个问题的每个答案都是完全不同的。愚蠢的iOS模拟器。你的对我有用 - 我随机提交:)
    • 这对我有用,但我不需要启动另一个模拟器。我只是关闭了模拟器的窗口(您现在可以打开多个模拟器窗口,也可以单独关闭它们),然后从 Xcode 重新运行应用程序以将其恢复。模拟器肯定有问题。问题已经很久了:(
    【解决方案8】:

    我认为这只是因为您没有在名为“硬件”的模拟器菜单栏上选择“连接硬件键盘选项”

    请按步骤操作

    转到:硬件 -> 键盘 -> 连接硬件键盘

    希望对你有帮助,谢谢

    【讨论】:

      【解决方案9】:

      我看到了同样的问题。如果您使用 Command-LeftArrow 和 Command-RightArrow 快捷方式在模拟器中旋转设备,我认为该问题与命令键“卡在”模拟器中有关。

      在等待 Apple 修复的同时,解决此问题的一种方法是通过选择菜单选项而不是键盘快捷键来旋转设备。这会旋转设备,并且似乎让键盘处于工作状态。

      【讨论】:

        【解决方案10】:

        重复以下命令两次对我有用!!

        CMD+Shift+K

        【讨论】:

          【解决方案11】:

          CMD + SHIFT + K

          我已按此命令 2 次切换,然后它开始工作

          【讨论】:

            【解决方案12】:

            只需执行这些简单的步骤,这不是问题。

            1. 打开模拟器

            2. Going To Top And you See Option Hardware click this.

            3. 当您单击硬件时,会出现一些选项,其中一个选项是键盘。

            4. 点击键盘选项,你会看到三个选项出现。

            5. 如果您想使用 mac 按钮键盘,请选择第二个选项连接 硬件键盘。

            6. 如果您想使用移动敲击键盘,请选择第三个选项。

            7. 第一个选项适用于通过代码选择键盘的用户。

            享受所有工作。

            【讨论】:

            • 如果它不起作用。杀死(关闭并启动)模拟器并再次重复这些步骤。希望它会奏效。
            【解决方案13】:

            我刚刚安装了新版本的 Xcode (5.0),iOS 模拟器中的键盘在首次启动时无法使用。只需重新启动模拟器即可。

            【讨论】:

              【解决方案14】:

              对于我来说,选择模拟器,选择硬件 -> 键盘 -> 连接硬件键盘。

              它对我有用。

              【讨论】:

                【解决方案15】:

                我刚刚尝试了你刚才所说的,这是真的,如果我将它移到横向然后再转到纵向,它就不起作用。它没有任何逻辑,因为我的应用甚至没有改变,而且它在设备上运行良好,所以这是模拟器中的一个错误。

                您可以使用以下方式向 Apple 报告:

                https://developer.apple.com/bug-reporting/

                【讨论】:

                  【解决方案16】:

                  我刚刚退出了我的模拟器,它对我有用。

                  【讨论】:

                    【解决方案17】:

                    XCode 12/13: 在模拟器窗口的顶部窗格中,I/O>Input>Send Keyboard Input to Device

                    或 alt-command-k

                    【讨论】:

                      【解决方案18】:

                      真正适合我的解决方案是删除模拟器并创建新的。我认为这个错误通常发生在从键盘到模拟器的所有快捷键都不起作用时。

                      【讨论】:

                        【解决方案19】:

                        退出模拟器并在终端运行以下命令:

                        rm ~/Library/Preferences/com.apple.iphonesimulator.plist

                        【讨论】:

                        • 完善这个答案!
                        【解决方案20】:

                        我在使用 iPhone6 模拟器时遇到问题,我将其更改为 iPhone7。在 iPhone7 上我可以继续我的工作。

                        【讨论】:

                          【解决方案21】:

                          如果您的 Mac 键盘在所有选项和设置正确后仍然断开连接,则一个原因是旋转设备。

                          如果你CMD + 在模拟器启动时提前旋转设备,Mac键盘绝对不能工作 no有什么关系;更改菜单设置无济于事!在旋转设备之前使用 Mac 键盘在设备内部输入可能会有所帮助。

                          关闭“将菜单快捷方式发送到设备”并重新启动模拟器有时会有所帮助。如果我得到可靠的、可重现的行为,我会更新。

                          我发现 Mac 键盘在我运行和退出 Simulator 的时间中大约有一半可以使用。这些年来,50% 还不错!?

                          【讨论】:

                            【解决方案22】:

                            我只是重新启动模拟器,它对我有用。

                            【讨论】:

                              【解决方案23】:

                              只需使用 CMD+SHIFT+K,键盘将自行激活。

                              【讨论】:

                                【解决方案24】:

                                每当我旋转模拟器时都会遇到这个问题。按照更改硬件选项的建议对我不起作用,也不能重新启动 iOS 模拟器。

                                我发现了一个技巧,在旋转后单击编辑区域会使 Mac 键盘最终工作。

                                【讨论】:

                                  【解决方案25】:

                                  做了这么多事情后,只需重新启动我的机器并启用以下功能即可。

                                  在模拟器中启用此功能:硬件 -> 键盘 -> 连接硬件键盘

                                  【讨论】:

                                    【解决方案26】:

                                    对于带有 Xcode 9.3 的 10.0 版(SimulatorApp-851.2 CoreSimulator-518.19),对我没有任何帮助。我通过硬件-> 擦除所有内容和设置-> 擦除重置了模拟器。清理项目并在模拟器上运行。键盘连接已恢复。

                                    【讨论】:

                                      【解决方案27】:

                                      我在删除Main.storyboard 并在代码中创建主窗口后遇到了这个问题。恢复使用 Main.storyboard 为我修复了它。

                                      【讨论】:

                                        【解决方案28】:

                                        对我来说,这样做适用于 iPhone 8+ 模拟器 iOS 11.2: 1. 进入菜单 -> 硬件 -> 删除所有内容和设置。 2. 从 xcode 中删除派生数据。 Xcode -> Preferences -> Locations -> 点击“高级”按钮左侧的右箭头。

                                        【讨论】:

                                          【解决方案29】:

                                          对我来说,在模拟器打开时,在你的 mac 菜单中,单击硬件并到达键盘选项并选择切换软件键盘。as shown

                                          【讨论】:

                                            【解决方案30】:

                                            有一个名为 plistlib 的用于编辑 plist 文件的库。这是我的代码:

                                                import plistlib
                                            
                                                file_name = ('path/to/com.apple.iphonesimulator.plist')
                                                try:
                                                    p = plistlib.readPlist(file_name)
                                                    p["ConnectHardwareKeyboard"] = "NO"
                                                    plistlib.writePlist(p, file_name)
                                                except:
                                                    print("Failure")
                                            

                                            这会读取 plist 文件,将 ConnectHardwareKeyboard 值更改为 No,然后将新文件写入相同的位置。这对我有用,但如果有更好的方法,请告诉我。我还是个编码新手。

                                            【讨论】:

                                              猜你喜欢
                                              • 2013-05-03
                                              • 2015-05-14
                                              • 2017-10-15
                                              • 2012-07-04
                                              • 1970-01-01
                                              • 2016-04-30
                                              • 2011-04-26
                                              • 2018-06-28
                                              • 2018-12-08
                                              相关资源
                                              最近更新 更多