【发布时间】:2019-07-08 21:05:29
【问题描述】:
如何在连接(智能)键盘时收到通知?
一些背景: 我正在开发一项功能,该功能会根据是否连接了 iPad Pro 智能键盘或其他外部键盘(如 Pages)来自动显示和隐藏我的软件键盘。我已经看到this 的答案,但这仅适用于选择文本字段时。经过大量的谷歌搜索,我偶然发现了 Apple 的 ExternalAccessory 类,您可以要求连接设备,然后检查这些设备是什么。
我已经尝试了这个的基本实现,但我无法让它在我的 iPad Pro 上使用连接的智能键盘(是的,我确定它已经连接,因为我可以看到我输入的字母出现在我的屏幕上 ?? ??)。
首先,文档说您可以检测到通过蓝牙和闪电连接的设备,我只能希望这也包括智能键盘连接器。我已启用项目的无线附件配置功能。
其次,需要将UISupportedExternalAccessoryProtocols 键添加到他们的info.plist 中,然后需要指定连接哪些协议。似乎没有记录哪些协议,也没有针对 Apple 自己的设备。我遇到了一个提到iAP2蓝牙协议的教程,所以我添加了这个,然后希望最好。
我的代码
由于我还没有正确设置我的项目配置,所以我也没有添加很多代码。我试过了:
func printAllAccessories() {
for device in EAAccessoryManager.shared().connectedAccessories {
print("connected device with name: ", device.name)
}
}
但注意似乎是相关的。
底线
在 iOS 应用中获取外部键盘通知的流程(包括项目配置)是怎样的?
似乎没有任何全面的在线文档,所以在这里获得它可能会很好。任何帮助将不胜感激!
【问题讨论】:
标签: ios ipad keyboard external-accessory