This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

Service Changed characteristic requirement for iOS

Hi,

According to your IOS-Pods-DFU-Library GitHub repo:  https://github.com/NordicSemiconductor/IOS-Pods-DFU-Library#service-changed-characteristic

In order the DFU to work with iOS, the target device MUST have the Service Changed characteristic with Indicate property in the Generic Attribute service. Without this characteristic iOS will assume that services of this device will never change and will not invalidate them after switching to DFU bootloader mode.

Based upon the literature I reviewed, the [#define IS_SRVC_CHANGED_CHARACT_PRESENT 1] flag in main.c is a specific

requirement for iOS DFUs.  In addition, upon review of their latest v 12.3.0 SDK [nRF5_SDK_12.3.0_d7731ad], this flag is present in many of their BLE SDK examples; but

Interestingly enough, not specifically dfu.

So my question is, do we need to set this flag when running DFU updates. For example when using thenRF Tool Box app you provide?

see: https://itunes.apple.com/us/app/nrf-toolbox/id820906058?mt=8

Or is this flag only required to be set when running an initial boot loader.

According to our FW Engineer, we are able to run updates on iOS with no SDK changes. So, I want to gain further clarity from you.

Parents Reply Children
Related