I have a Bluetooth Low Energy (BLE) app that communicates with a BLE device through open connection. I am using CoreBluetooth library. After I upgraded my iPhone to iOS 7 and XCode to XCode 5. I recompiled my Bluetooth Low Energy app and found it no longer working. The connection is successful. The services and characteristics are discovered with no problems. Even the reading of the characteristics seems fine. But writing to a characteristic which should trigger some action on the BLE device has not any effect.
If I use XCode to download the same app to another iPhone with iOS 6, everything works fine. So I can determine the problem may be something with iOS 7 instead of XCode 5’s recompiling. It’s also possible XCode 5 prepares a different app for iOS 6 device even from a same project because I can see the app’s appearances are different on two devices.
So what’s changed from iOS 6 to iOS 7 that makes writing to characteristics failed?