Как можно получить уведомление при подключении (Smart) клавиатуры?
Некоторый контекст: Я работаю над функцией, которая автоматически показывает и скрывает мою программную клавиатуру в зависимости от того,iPad Pro Smart Keyboard или другая внешняя клавиатура подключена или нет (например, Pages).Я видел этот ответ, но он применяется только при выделении текстового поля.После долгих поисков я наткнулся на класс Apple ExternalAccessory , который вы можете запросить для подключенных устройств, а затем проверить, что это за устройства.
Я попробовал базовую реализацию этого, и я не могу заставить его работать на моем iPad Pro с подключенной Smart Keyboard (Да, я уверен, что он подключен, потому что я вижу буквы, которые я печатаю, появляются на моем?).
Прежде всего, в документах говорится, что вы можете обнаруживать устройства через Bluetooth и Lightning, я могу только надеяться, что это также включает в себя разъем Smart Keyboard.Я включил возможность настройки беспроводных аксессуаров в моем проекте.
Во-вторых, необходимо добавить ключ UISupportedExternalAccessoryProtocols
в их список info.plist, а затем указать, какие протоколы подключены.Какие протоколы там, похоже, не документированы, в том числе и для собственных устройств Apple.Я наткнулся на учебник, в котором упоминается iAP2
протокол Bluetooth, поэтому я добавил его, а затем надеялся на лучшее.
Мой код
Так как я этого не сделалПравильно настроив конфигурацию своего проекта, я также не добавил много кода.Я пытался:
func printAllAccessories() {
for device in EAAccessoryManager.shared().connectedAccessories {
print("connected device with name: ", device.name)
}
}
Но, кажется, что он подключен.
Итог
Какой процесс, включая настройку проекта, получитьУведомления о внешней клавиатуре в приложении для iOS?
Похоже, что нет исчерпывающей документации по этому вопросу в Интернете, так что, вероятно, приятно получить ее здесь.Любая помощь будет принята с благодарностью!