12

我已经在 iOS 8 模拟器上成功地使用 Swift 创建了自定义键盘。

虽然它运行良好,但我无法调试它。它是一个包含的目标,通过设置->常规安装。在 XCode 中放置书签不起作用。

4

4 回答 4

22

我可以通过 Xcode 6 使用模拟器调试自定义键盘。

  1. 选择键盘(而不是它的容器)作为方案。 变更方案

  2. “运行”,然后选择模拟器上的应用程序来调试扩展。

运行你的应用

于 2014-10-05T22:37:59.117 回答
4

到目前为止,苹果似乎还没有获得对模拟器扩展调试的支持。我遇到了同样的问题,但我观察到如果我们将应用程序执行到设备中,我们可以调试代码,如下所示。

1)选择您的键盘扩展目标。

2) 转到编辑方案。

3) 在信息选项卡中,从下拉列表中选择您的可执行文件并选中“调试扩展和 XPC 服务”选项。

仍然存在一些问题,例如我们看不到 NSLog 的输出,但您可以检查与以前相同的变量值,或者我建议您检查此链接 它可能适用于显示 NSLog 输出KeyboardViewController NSLog IOS 8

于 2014-07-05T04:43:40.760 回答
4

Apple 已将此问题报告为Xcode 6.1 发行说明中的​​已知问题:

iOS 8.1 模拟器中的 Safari、地图和开发者应用程序无法正确支持本地化和键盘设置,包括第 3 方键盘。[NSLocale currentLocale] 返回 en_US 并且只有英文和表情符号键盘可用。(18418630, 18512161)

我正在使用 Xcode 6.1.1,似乎还没有解决,但我发现了一种解决方法。您应该按照以下步骤操作:

  1. 打开 Xcode 并在其菜单栏中点击进入Xcode > Open Developer Tool > iOS Simulator

  2. 现在进入 iOS 模拟器菜单栏Hardware > keyboard,检查是否启用了“连接硬件键盘”。如果是,请单击它以禁用并退出 iOS 模拟器

  3. 然后返回 Xcode 并确保选择键盘作为方案

  4. 单击运行按钮或按产品>运行以构建并运行您的应用程序,然后在“选择要运行的应用程序”菜单中选择今天

  5. 当 iOS 模拟器启动时,转到设置 > 常规 > 键盘 > 键盘 > 添加新键盘并选择您自己的键盘,然后按键盘命令 + shift + H 返回主屏幕

  6. 最后打开日历应用程序并按下放大镜图标,键盘将出现,您只需按住地球按钮即可显示启用的键盘列表并选择您的请注意,在日历应用程序中尝试您的键盘很重要,因为在大多数应用程序中它不起作用或出现意外行为

如果键盘仍然没有出现:

  • com.apple.iphonesimulator.plist从中删除文件~/Libray/Preferences/
  • 在 iOS 模拟器菜单栏中点击进入iOS Simulator > Reset Content and Settings...

有关键盘调试和开发的更多信息在这里

于 2014-12-08T07:02:59.853 回答
0

在搜索和调查之后,我发现最好的解决方案是安装和使用Reveal。它可以帮助您像调试层次结构视图一样可视化自定义键盘,并显示各种其他措施。

于 2019-10-18T11:42:24.997 回答