连接(智能)键盘时如何获得通知?
一些上下文:
我正在开发一个功能,根据是否连接了iPad Pro智能键盘或其他外部键盘(如页面),自动显示和隐藏我的软件键盘。我见过
this
回答,但仅当选择了文本字段时才适用。我在网上搜了很多遍,偶然发现了苹果的
ExternalAccessory
类可以请求连接的设备,然后检查这些设备是什么。
我已经尝试了一个基本的实现,但我无法让它在我的iPad Pro上使用连接的智能键盘(是的,我确信它是连接的,因为我可以看到我键入的字母出现在我的屏幕上)。
首先,文件上说你可以通过蓝牙和闪电检测设备,我只能希望这也包括智能键盘连接器。我已经启用了我的项目的无线附件配置功能。
其次,需要添加
UISupportedExternalAccessoryProtocols
它们的info.plist的键,然后需要指定连接的协议。哪些协议似乎没有记录在案,苹果自己的设备也没有记录在案我遇到一个教程提到
iAP2
蓝牙协议,所以我添加了这个,然后希望是最好的。
我的代码
由于我还没有设置好我的项目配置,我也没有添加很多代码。我试过:
func printAllAccessories() {
for device in EAAccessoryManager.shared().connectedAccessories {
print("connected device with name: ", device.name)
}
}
但似乎没有什么联系。
底线
在iOS应用程序中获取外部键盘通知的过程是什么,包括项目配置?
网上似乎没有任何关于这个的全面的文档,所以在这里得到它可能是很好的。任何帮助都将不胜感激!