IOS 来自计算机的键盘输入

IOS Keyboard input from computer

我有一个 IOS 应用程序,如果它能响应我在计算机上的键盘敲击,那将非常方便测试。有什么办法可行吗?

更多上下文:我有一个用图像制作的自定义键盘,触摸时会打印出按下的字母。但是,如果我尝试使用我的计算机键盘键入它们,我的自定义键盘不会打印这些字母,只有当我使用设备或模拟器手动按下它们时。 Apples 内置键盘会自动为您执行此操作,但它不符合我对我希望构建的应用程序的需求。

所以我的问题是:

有没有办法从 IOS 设备上的计算机键盘获取输入而不是来自默认的 Apple 键盘?

回答我自己的问题,是的,有一个解决方案。

我做了什么:

我实现了 UIKeyInput 协议及其附带的三个方法:

public func insertText(text: String) {  } // <-- keyboard input comes in through here
public func deleteBackward() { }
public func hasText() -> Bool { return true; }

之后我重写了 canBecomeFirstResponder 方法

public override func canBecomeFirstResponder() -> Bool {
    return true;
}

我做的最后一件事是调用 becomeFirstResponder 方法

self.becomeFirstResponder()

现在,当您在计算机上按下键盘上的键时(甚至可能是 iPad,我可以从 insertText 方法接收键盘输入尚未对此进行测试,但我认为是这样)。