2017-07-19 7 views
1

Ich möchte erkennen, ob eine externe Tastatur an den Lightning-Port angeschlossen wurde. Ich habe andere Antworten über das Hören der weichen Tastatur keyboardDidHide/Show gelesen, aber das ist nicht das, was ich tun möchte. Ich will wissen, wie man diese private API benutzt.So verwenden Sie UIKeyboardImpl.isInHardwareKeyboardMode

Ich fand dieses auf GitHub https://github.com/nst/iOS-Runtime-Headers/tree/master/Frameworks/UIKit.framework, aber als ich versuchte, nur die UIKeyboardImpl Klasse über zu kopieren, stieß ich auf einen Bündel Kompilierungsfehler. Irgendwelche Vorschläge zum Importieren dieser Klasse, damit ich sie verwenden kann? Vielen Dank.

+0

Mit privaten APIs ist eine schlechte Idee, da es erhalten Sie Ihre App aus dem App Store –

+0

abgelehnt verstanden und ich Ich unterwerfe mich nicht dem Laden, also kümmert es mich nicht wirklich. Ich möchte nur wissen, wie das funktioniert. – 7ball

Antwort

2

Versuchen Sie diesen Code: https://gist.github.com/myell0w/d8dfabde43f8da543f9c

Da es objc_msgSend nutzt mit der privaten Klasse zu kommunizieren, brauchen Sie nicht zu verwirren über mit irgendwelchen privaten Header-Dateien.

Fügen Sie einfach diese an die Spitze Ihrer Datei, um es an die Arbeit:

#import <objc/message.h>