I am trying to work with a custom 3rd party BT 4.0 peripheral device which uses an nRF8001 to transmit data as temperature values in the Bluetooth Health Thermometer service. Specifically, I need to enable indications on the "Temperature Measurement" characteristic to receive values when they are available.
Everything up to that point appears to be working flawlessly: I can see the device when scanning for the Health Thermometer service, connect to it, discover services and characteristics, and enable indications (including writing the client characteristic config descriptor). None of these operations return error codes, no obvious error messages in logs. The device simply does not operate though - the "characteristic read" callback is never called. I have tried this with functionally equivalent code on Android 4.3 (Java), iOS 7 (Objective C) and latest OSX. My code on all platforms works along the lines of this OSX/Core Bluetooth sample app: developer.apple.com/.../Intro.html
Now, the interesting part is that it does work with the "nRFready Utility" demo app on iOS, on the "Temp" screen. I suspect that this particular app does something "special" which makes my device behave differently, but as there is no source code available for it, I cannot figure out what it might be. Unfortunately, no more specific documentation for the peripheral device is available either; it is supposed to behave like a regular health thermometer device.