我正在开发一个基本的iOS应用程序,它支持两种纵向和横向模式。当iPhone模拟器键盘在横向打开并且我将应用程序切换到纵向模式时,我无法使用我的Mac物理键盘在任何文本字段中键入任何内容。
以前有没有人经历过这个?这是一个已知的错误吗?
答案 0 :(得分:68)
找到一个对我有用的好解决方案。
打开模拟器,然后找到菜单硬件 - >键盘有三个选项:
答案 1 :(得分:45)
在Xcode 9中,我遇到了与iPhone 8+模拟器相同的问题。我能够用这种方式解决它:
~/Library/Preferences/com.apple.iphonesimulator.plist
档案CaptureKeyboardInput
值设为YES
答案 2 :(得分:38)
在开始输入之前(当屏幕键盘显示时),只需按下命令键然后将其释放。这应该在模拟器中重新启用键盘。
答案 3 :(得分:28)
从模拟器菜单>>硬件>>键盘>>连接硬件键盘
OR
只需按⌘ + ⌂ + K
答案 4 :(得分:21)
启动iOS模拟器并启用Hardware > Keyboard > Connect Hardware Keyboard
。
(您可能通过按CMD + SHIFT + K
意外禁用了它 - 与Xcode中的Clean相同的快捷方式)
答案 5 :(得分:18)
在模拟器上尝试更改设备。然后在原始设备上再次运行您的应用。这对我有用。
如果单独的第一步不起作用,请取消选中该选项:iOS使用与OS X相同的键盘布局,然后更改设备。
我认为它做了随机的东西,直到它奏效。猴子修理。
答案 6 :(得分:13)
这些建议都不适合我。我关闭了iOS模拟器应用程序并重新启动它。这为我解决了。
答案 7 :(得分:10)
我看到了同样的问题。我相信如果您使用Command-LeftArrow和Command-RightArrow快捷方式在模拟器中旋转设备,则问题与模拟器中的“卡住”有关。
当我们等待Apple修复时,一方面是通过选择菜单选项而不是键盘快捷键来旋转设备。这会旋转设备,似乎让键盘处于工作状态。
答案 8 :(得分:7)
重复以下命令两次对我有用!!
CMD + Shift键+ K
答案 9 :(得分:5)
这不是问题,只需这些简单的步骤。
打开模拟器
返回页首您会看到选项硬件,点击此处。
当您点击硬件时会出现一些选项,其中一个选项是键盘。
单击“键盘”选项,您会看到三个选项。
如果您想使用Mac键盘键盘,请选择第二个选项连接 硬件键盘。
如果您想使用移动点击键盘,请选择第3个选项。
第一个选项适用于通过代码选择键盘的人。
享受所有工作。
答案 10 :(得分:5)
我刚刚安装了新版本的Xcode(5.0),并且iOS Simulator中的键盘在首次启动时无效。只需重新启动模拟器就可以了。
答案 11 :(得分:4)
对我来说,选择模拟器,选择硬件 - >键盘 - >连接硬件键盘。
它对我有用。
答案 12 :(得分:3)
我刚尝试了你刚刚说过的话,这是真的,如果我把它移到横向然后再画像,它就不起作用了。它没有任何逻辑,因为我的应用程序甚至没有更改,并且它在设备中工作正常,因此它是模拟器中的错误。
您可以使用以下方式向Apple报告:
答案 13 :(得分:3)
答案 14 :(得分:2)
真正适用于我的解决方案是删除了模拟器并创建了新模拟器。我认为这个错误通常发生在所有快捷方式从键盘到模拟器都不起作用时。
答案 15 :(得分:2)
CMD + SHIFT + K
我按下此命令两次以进行切换,然后它开始工作
答案 16 :(得分:1)
我刚刚退出模拟器,它对我有用。
答案 17 :(得分:1)
如果在完成所有选项和设置后,Mac键盘仍然无法断开连接,一个原因是旋转设备。
如果 CMD + ←或→在模拟器启动时提前旋转设备,Mac键盘绝对不能正常工作有什么关系;更改菜单设置什么都不做!在旋转设备之前,使用Mac键盘输入设备可能会有所帮助。
关闭"向菜单发送菜单快捷方式"并重新启动模拟器有时会有所帮助。如果我获得可靠的,可重现的行为,我会更新。
我发现Mac键盘的工作时间大约是我运行的一半并退出模拟器。经过这么多年,50%的人不好!?
答案 18 :(得分:1)
退出模拟器并在终端中运行以下命令:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
<link rel="stylesheet" href="https://code.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.css">
<script src="https://code.jquery.com/jquery-1.11.2.min.js"></script>
<script src="https://code.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.js"></script>
</head>
<body>
<div data-role="page">
<div role="main" class="ui-content">
<div class="ui-grid-a align-widgets">
<div class="ui-block-a">
<div class="ui-bar ui-bar-a">
<label for="flip-checkbox-1">Flip toggle switch with more caption text:</label>
<input data-role="flipswitch" name="flip-checkbox-1" id="flip-checkbox-1" type="checkbox">
</div>
</div><!--
This comment block removes the `inline-block` gaps, allowing you to use
a 50% width on `.ui-block-a` and `.ui-block-b`.
--><div class="ui-block-b">
<div class="ui-bar ui-bar-a">
<label for="flip-checkbox-2">Flipswitch 2:</label>
<input data-role="flipswitch" name="flip-checkbox-2" id="flip-checkbox-2" type="checkbox">
</div>
</div>
</div>
</div>
</div>
</body>
</html>
答案 19 :(得分:0)
XCode 12: 在模拟器窗口的顶部窗格中,I / O>输入>将键盘输入发送到设备
或alt-command-k
答案 20 :(得分:0)
我在使用 iPhone6 模拟器时遇到问题,我将其更改为 iPhone7 。在iPhone7上,我可以继续工作。
答案 21 :(得分: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
,然后将新文件写入相同的位置。这对我有用,但请告诉我是否有更好的方法。我还是编码新手。
答案 22 :(得分:0)
对我来说,在打开的模拟器上,在Mac的菜单中,依次单击“硬件”和“到达键盘”选项,然后选择切换软件键盘。as shown
答案 23 :(得分:0)
只需使用CMD + SHIFT + K,键盘就会自动激活。
答案 24 :(得分:0)
我只是重新启动模拟器,它对我有用。
答案 25 :(得分:0)
对于我来说这样做适用于iPhone 8+模拟器iOS 11.2: 1.转到菜单 - &gt;硬件 - &gt;删除所有内容和设置。 2.从xcode中删除派生数据。 Xcode - &gt;偏好 - &gt;地点 - &gt;单击“高级”按钮左侧的右箭头。
答案 26 :(得分:0)
对于带有Xcode 9.3的10.0版本(SimulatorApp-851.2 CoreSimulator-518.19),对我来说没什么用。我通过硬件重置模拟器 - &gt;删除所有内容和设置 - &gt;擦除。清理项目并在模拟器上运行。键盘连接又回来了。
答案 27 :(得分:0)
完成这么多事情之后,只需重新启动我的机器并启用以下功能。
在模拟器中启用此功能:硬件 - &gt;键盘 - &gt;连接硬件键盘
答案 28 :(得分:0)
每当我旋转模拟器时,我都遇到了这个问题。按照建议更改硬件选项对我不起作用,也不重启iOS模拟器。
我找到了一个技巧,在旋转后单击编辑区域使Mac键盘最终工作。