Looks like you're doing it right.
There was a session 508 on the topic in WWDC 2014, unfortunately, there is no coding detail on how to set the speed.
h ttps://asciiwwdc.com/2014/sessions/508
And finally, you can know when exposure is being adjusted through this key-value observable property.
Now, new in iOS 8 we're introducing support for fully manual exposure or what we call in the API, custom exposure.
In custom mode you can get, set and key-value observe ISO and shutter speed.
Now, we refer to shutter speed as exposure duration in the API set since our cameras don't have a physical shutter.
I'll use those two terms interchangeably from here on out.
I feel a demo coming on.
h ttp://devstreaming.apple.com/videos/wwdc/2014/508xxfvaehrll14/508/508_sd_camera_capture_manual_controls.mov?dl=1
Here is the API (at minute 28 of video)
New exposure mode AVCaptureExposureModeCustom
- (void)setExposureModeCustomWithDuration:(CMTime)duration
ISO:(float)ISO
completionHandler:(void (^)(CMTime syncTime))handler;