Hi Nordic,
Should Nordic Homekit SDK support new IOS10 with IPhone7? Please verify. Thanks.
Best Regards Tony Lee
Hi Nordic,
Should Nordic Homekit SDK support new IOS10 with IPhone7? Please verify. Thanks.
Best Regards Tony Lee
Yes, it should. But there is an interoperability issue with Data Length extension. For some reason iPhone 7 with iOS 10.0.x doesn't perform service discovery when the LL Length response is 27 bytes (Default MTU size). However you can work around this by modifying ble_evt_dispatch like this:
static void ble_evt_dispatch(ble_evt_t * p_ble_evt)
{
switch (p_ble_evt->header.evt_id) {
case BLE_GAP_EVT_CONNECTED:
s_advertising = false;
nrf_gpio_pin_clear(LED_4);
//Modification start
sd_ble_gattc_exchange_mtu_request(p_ble_evt->evt.common_evt.conn_handle, client_rx_mtu);
//Modification end
break;
client_rx_mtu needs to be larger than 23. With Homekit you should use 158.
Update: iPhone 7 with iOS 10.1Beta2 works.
Update 2: This is not only a Homekit issue. This is an interoperability issue with iPhone 7 running iOS 10.0.x and S132 v3.0.0. Unfortunately iPhone 7 gets confused when we reply to the length respons with the default MTU size. However, iPhone 6/6s is not affected. Older softdevice revisions also work with iPhone 7/iOS10.0.x. Since this seems to be fixed in iOS 10.1 I'm not sure this will be a big issue as I expect most customers will update to iOS 10.1.
Update 3: Not fixed for iOS 10.0.3.
Hi Run_ar,
It works now, it is really useful for us.
Is there interoperability issue on HomeKit only or we have to modify for all application with IPhone7 and IOS 10.0.x? Thanks.