My job is to port BLE mouse (Bluetooth low energy mouse) class driver from Mac 10.10 to 10.12 ..
My old kext was derived from IOHIDEventDriver class. and provider class in info.plist is IOHIDInterfcae
When I am building above kext with 10.12 sdk , compilation is done, but while loading kext I am getting below error:
The vtable '__ZTV15CbBLEInterface' is malformed. Make sure your kext has been built against the correct headers
Below is the output of sudo kextutil -n -print-diagnostics myble.kext
Warnings: Dependency lacks appropriate value for OSBundleRequired and may not be availalble during early boot: com.apple.iokit.IOBluetoothFamily - Safe Boot com.apple.driver.IOBluetoothHIDDriver - Safe Boot
after updating the xcode with 8.2.1 , code compiled with correct headers and it worked :). Thanks to all of you for your help.