代码之家  ›  专栏  ›  技术社区  ›  Joris416

如何检测iPad上的智能/外置键盘?

  •  0
  • Joris416  · 技术社区  · 6 年前

    连接(智能)键盘时如何获得通知?

    一些上下文: 我正在开发一个功能,根据是否连接了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应用程序中获取外部键盘通知的过程是什么,包括项目配置?

    网上似乎没有任何关于这个的全面的文档,所以在这里得到它可能是很好的。任何帮助都将不胜感激!

    0 回复  |  直到 6 年前
    推荐文章