【问题标题】:ios 8 how to debug Custom Keyboard?ios 8 如何调试自定义键盘?
【发布时间】:2014-07-03 14:39:29
【问题描述】:

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

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

【问题讨论】:

  • 我认为在 xcode 中调试扩展只是错误和损坏。我在调试小部件时也遇到了问题(NSLog 无法正常工作,附加过程非常繁琐等)。我认为你最好的选择是等待一个新的测试版,并希望他们修复它或等待最终版本。
  • 不知道大家,但我的自定义键盘可以在模拟器上工作,但不能在设备上工作。 Xcode 6 beta 3,iOS 8 beta 3。我可以在设备上选择键盘,但它没有显示在模拟器上显示的键盘选择按钮。

标签: ios ios8 ios-app-extension


【解决方案1】:

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

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

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

【讨论】:

  • 由于某种原因,我无法将我的键盘扩展程序视为要运行的应用程序之一。我可以看到主机(容器应用程序)和 Today 扩展,但看不到我的键盘扩展。它运行良好 - 我可以将它添加为自定义键盘,但我无法调试它。
  • @er0 你有扩展的目标吗?您是否正确配置了您的 plist?
  • 我仍然无法在要运行的应用程序中看到它 - 但是当我运行容器应用程序并激活我的自定义键盘时,我可以对其进行调试。所以一切都很好。
【解决方案2】:

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

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

2) 转到编辑方案。

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

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

【讨论】:

  • 我还没有安装 iOS 8 beta 的物理设备。有的话我会试试的。
【解决方案3】:

Apple 已在Xcode 6.1 release notes 中将此问题报告为已知问题:

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

如果键盘仍然没有出现:

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

更多关于键盘调试和开发的信息here

【讨论】:

    【解决方案4】:

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

    【讨论】:

      猜你喜欢
      • 2014-10-30
      • 2014-08-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-11-25
      • 2014-11-19
      • 2015-06-14
      相关资源
      最近更新 更多