2017-07-19 3 views
1

Je souhaite détecter si un clavier externe a été connecté au port Lightning. J'ai lu d'autres réponses sur l'écoute du clavier logiciel keyboardDidHide/Show, mais ce n'est pas ce que je veux faire. Je veux savoir comment utiliser cette API privée ..Comment utiliser UIKeyboardImpl.isInHardwareKeyboardMode

Je l'ai trouvé sur GitHub https://github.com/nst/iOS-Runtime-Headers/tree/master/Frameworks/UIKit.framework mais quand j'ai essayé de copier la classe UIKeyboardImpl, j'ai rencontré un tas d'erreurs de compilation. Une suggestion sur la façon d'importer cette classe pour que je puisse l'utiliser? Merci.

+0

L'utilisation des API privées est une mauvaise idée, car elle permettra à votre application rejetée de l'AppStore –

+0

Entendue et I » Je ne soumets pas au magasin, donc je m'en fous. Je veux juste savoir comment cela fonctionne. – 7ball

Répondre

2

Essayez ce code: https://gist.github.com/myell0w/d8dfabde43f8da543f9c

Comme il utilise objc_msgSend pour interagir avec la classe privée, vous n'avez pas besoin de déconner avec les fichiers d'en-tête privé.

ajouter ceci en haut de votre fichier pour l'obtenir au travail:

#import <objc/message.h>