无法使用Mac Keyboard在iPhone模拟器中输入文本字段?


98

我工作的支持基本的iOS应用纵向和横向模式。当iPhone模拟器键盘横向打开时,我将应用程序切换为纵向模式,因此无法使用Mac物理键盘在任何文本字段中键入任何内容。

有谁之前经历过这个吗?它是已知的错误吗?



您能否提供更多信息,例如正在使用的XCode版本和iOS SDK?
brimble2010 2013年

1
我有完全一样的问题。有时我还会在控制台中认真对待无效上下文警告。
bilobatum

Answers:


80

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

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

这项功能与2020年一样...无法在模拟器上输入文字,切换至Hardrware键盘后即可使用
Juan

52

在Xcode 9中,iPhone 8+模拟器遇到了同样的问题。我可以这样解决:

  1. 开启~/Library/Preferences/com.apple.iphonesimulator.plist档案
  2. 查找有问题的模拟器标识符(显示在“ 设备和模拟器”窗口中)
  3. 设置CaptureKeyboardInputYES
  4. 重新启动模拟器


2
谢谢。这是Xcode 9中唯一对我有用的东西。尝试了硬件菜单中的各种组合都无济于事。经过并手动将其添加到我的所有模拟人生中。尚未销毁并重新创建一个SIM卡,看看是否也能解决它。苹果不是第一次搞砸模拟人生,可能也不是最后一次。:)
StephenFeather

2
您应该获得一枚奖章。
奥利弗·皮尔曼

2
这是唯一对我有所帮助的修复程序。谢谢!
gokeji '18

1
兄弟,这
真是

1
是的,这就是我的答案。非常感谢
Witalo Benicio

41

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


1
此问题在Google搜索该问题中可见。干得好,尤金。您是如何知道的?比我尝试过的其他“解决方案”好得多。
五子雀

17
在键盘出现时,键入CMD + Shift + K两次,为我解决了此问题。
Chanchal Raj

4
在Xcode 9的模拟器中不起作用。
何塞·拉米雷斯

为我工作过一次。然后不久之后键盘又停止为我工作了,现在不起作用了。(模拟器v10.0,Xcode 9.2)
Ryan H.

37

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

要么

只需按 ⌘ + ⌂ + K


这对我
有用

25

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

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


18

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

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

我想出了做随机的东西,直到它起作用。猴子固定。


1
我不必执行第一步,但是第二步有效。谢谢!
rob5408 2014年

我爱这个问题的每个答案几乎完全不同。愚蠢的iOS模拟器。您为我工作-我将其随机提交:)
Darragh Enright

这对我有用,除了我不需要启动另一个模拟器。我只是关闭了模拟器的窗口(您现在可以拥有多个模拟器窗口,也可以分别关闭它们),然后从Xcode重新运行应用程序以将其恢复。模拟器肯定有些片状。长期以来一直存在问题:(
Ryan H.

17

这些建议都不适合我。我关闭了iOS Simulator应用,然后重新启动。这为我解决了。


高飞 为我工作。
KeithTheBiped '18

如果您尝试使用shift-command-k切换键盘,请尝试以下操作。
KeithTheBiped '18

@KeithTheBiped我在尝试重新启动ios模拟器之前没有运气就尝试过shift-command-k。
布哈里

14

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

请按照以下步骤

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

希望对您有帮助,谢谢。在此处输入图片说明


11

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

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



5

只需执行以下简单步骤,就不会有问题。

  1. 打开模拟器

  2. 返回顶部并且您看到选件硬件,单击此。

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

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

  5. 如果要使用Mac按钮键盘,请简单选择第二个选项“连接硬件键盘”。

  6. 如果要使用移动点击键盘,请选择第3个选项。

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

享受所有的工作。


1
如果不起作用。杀死(关闭并启动)模拟器,然后再次重复这些步骤。希望它能工作。
FARAZ

5

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



3

我只是尝试了您刚才说的内容,这是真的,如果我先将其移至横向然后再次移至纵向,则此操作将无效。它没有任何逻辑,因为我的应用程序甚至都没有更改,并且在设备中运行良好,因此这是模拟器中的错误。

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

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


2

对我真正有效的解决方案已删除模拟器,并创建了一个新的模拟器。我认为这个错误通常发生在从键盘到模拟器都无法使用所有快捷键的情况下。



2

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


1

如果正确设置了所有选项和设置后Mac键盘仍未连接则原因是旋转设备。

如果您在模拟器启动时CMD+ 提早旋转设备,则Mac键盘无论如何都将无法正常工作;更改菜单设置无济于事!旋转设备之前,使用Mac键盘在设备内部输入可能会有所帮助。

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

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




0

每当旋转模拟器时,我都会遇到此问题。遵循更改硬件选项的建议对我不起作用,也不要重新启动iOS Simulator。

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


0

完成许多工作后,只需重启机器并启用以下功能即可。

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


0

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



0

对我而言,此操作在iPhone 8+模拟器iOS 11.2上有效:1.转到菜单->硬件->擦除所有内容和设置。2.从xcode删除派生数据。Xcode->首选项->位置->单击“高级”按钮左侧的向右箭头。



0

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

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


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.