Basically, I can’t get boundary crossing events – locationManager:did[Enter|Exit]Region: – to trigger.
I posted earlier about testing locations with the simulator but now think I should rephrase the question.
I’ve looked through the source code and made sure only the standard location services were used, as opposed to significant-change although they were only used when the app went into the backround or was suspended so it shouldn’t have been relevant. I also used regionMonitoringEnabled and regionMonitoringAvailable in order to check that they were indeed available in the simulator (they are).
But still nothing. updateWithEvent is not called and therefore the table/icon badge number is not updated.
I’m going to keep looking but I can’t tell if it’s has something to do with how the API works (locationManager:did[Enter|Exit]Region:) or if it’s a simulator thing (although the simulator shows location updates nicely).
This is actually a known bug in the iOS 5.1 Simulator. I have filed radars with Apple to get it fixed, but have basically been ignored. They responded with “does it work in the iOS 6 beta simulator”. Which it does.
I got the same issue where it only triggers one location event for region monitoring. In or out, but no more than one.
You can either download the 5.0 Simulator which should still work or download the new iOS 6 beta (if you have access) to test around the region monitoring, then go back to 5.1 for anything else. Sorry I don’t have better news.