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

问题描述 投票:86回答:26

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

有谁之前经历过这个吗?这是一个已知的bug吗?

iphone ipad ios7 keyboard ios6
26个回答
71
投票

找到了一个适合我的伟大解决方案。 打开模拟器,然后找到菜单硬件 - >键盘有三个选项:

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

5
投票

它不是问题只是做这些简单的步骤。

  1. 打开模拟器
  2. 返回顶部您看到选项硬件点击此处。
  3. 当您单击硬件时,会出现一些选项,其中一个选项是键盘。
  4. 单击键盘选项,您会看到三个选项。
  5. 如果要使用mac键盘键盘,请选择第二个选项连接硬件键盘。
  6. 如果您想使用移动点击键盘选择第3选项。
  7. 第一个选项适用于通过代码选择键盘的用户。

享受所有的工作。


5
投票

我刚刚安装了新版本的Xcode(5.0),iOS模拟器中的键盘在首次启动时无效。刚刚重启模拟器帮了忙。


5
投票

我认为只是因为一个问题,你没有在名为'硬件'的模拟器菜单栏上选择'连接硬件键盘选项'

请按照步骤操作

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

希望它会帮助你解决这个问题,谢谢你.enter image description here


4
投票

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

它对我有用。


3
投票

我只是尝试了你刚才所说的,这是真的,如果我把它移到横向然后再画像,它就不起作用了。它没有任何逻辑,因为我的应用程序甚至没有更改,并且它在设备中工作正常,因此它是模拟器中的错误。

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

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


2
投票

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


1
投票

如果在完成所有选项和设置后仍然断开Mac键盘,则一个原因是旋转设备。

如果您在模拟器启动时提早旋转CMD +←或→旋转设备,Mac键盘无论如何都绝对不能正常工作;更改菜单设置什么都不做!在旋转设备之前,使用Mac键盘输入设备可能会有所帮助。

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

我发现Mac键盘的工作时间大约是我运行的一半并退出模拟器。这些年来,50%还不错!?


1
投票

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

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


0
投票

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

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


0
投票

完成这么多东西后,只需重新启动我的机器并启用下面的工作。

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


46
投票

在Xcode 9中,我遇到了与iPhone 8+模拟器相同的问题。我能够这样解决它:

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


0
投票

对于带有Xcode 9.3的10.0版本(SimulatorApp-851.2 CoreSimulator-518.19),对我来说没什么用。我通过硬件重置模拟器 - >擦除所有内容和设置 - >擦除。清理项目并在模拟器上运行。键盘连接又回来了。


0
投票

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


0
投票

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


0
投票

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


0
投票

只需使用CMD + SHIFT + K,键盘就会自动激活。


0
投票

对我来说,在模拟器上打开,在你的Mac菜单中,单击硬件并进入键盘选项并选择切换软件keyboard.as shown


0
投票

有一个库用于编辑名为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,然后将新文件写入同一位置。这对我有用,但请告诉我是否有更好的方法。我还是新编码。


0
投票

我有iPhone6模拟器的问题我把它改成了iPhone7。在iPhone7上我能够继续我的工作。


38
投票

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


28
投票

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

要么

只要按⌘ + ⌂ + K


22
投票

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

(您可能通过按CMD + SHIFT + K意外禁用它 - 与Xcode中的Clean相同的快捷方式)


18
投票

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

如果单独的第一步不起作用,请取消选中该选项:iOS使用与OS X相同的键盘布局,然后更改设备。

我认为它做了随机的东西,直到它工作。猴子修理。


13
投票

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


10
投票

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

当我们等待Apple修复时,一种方法是通过选择菜单选项而不是键盘快捷键来旋转设备。这会旋转设备,似乎使键盘处于工作状态。


7
投票

重复下面的命令两次为我工作!!

CMD + Shift键+ K

© www.soinside.com 2019 - 2024. All rights reserved.