Monitoring CLRegion immediately after removing one fails

Originator:oliver.drobnik
Number:rdar://16986842 Date Originated:21-May-2014 03:01 PM
Status:Open Resolved:
Product:iOS SDK Product Version:7.1.1 (11D201)
Classification:Other Bug Reproducible:Always
 
Summary:
If you remove a region from being monitored by CLLocationManager and immediately try to re-add a new one to monitoring it will fail with error code 5.

Steps to Reproduce:
- Launch an app that is already monitoring for a CLCircularRegion
- Remove this region from monitoring with stopMonitoringForRegion:
- Add a new region to be monitored immediately followed by a requestStateForRegion:

Expected Results:
- The new region should be added to the monitored regions
- requesting a state update right after adding it should just work
- the state update should return with state inside or outside once that has been determined by CoreLocation.

Actual Results:
- The monitoring fails calling the monitoringDidFailForRegion:withError: passing error code 5
- didDetermineState:forRegion: is never called

Notes:
As a workaround you can execute the state update request at least 1/10th sec later. Then the expected results occur.

Comments

PS: Sorry I meant to write Option+Click for the documentation bubble... (instead of CMD+Click)

By oliver.drobnik at Sept. 19, 2014, 4:49 p.m. (reply...)

Please note: Reports posted here will not necessarily be seen by Apple. All problems should be submitted at bugreport.apple.com before they are posted here. Please only post information for Radars that you have filed yourself, and please do not include Apple confidential information in your posts. Thank you!