However, according to my tests on Simulator and discussion on forum (https://devforums.apple.com/message/251046#251046), the performance of the region features are poor. In Simulator, the - (void)locationManager:(CLLocationManager *)manager didEnterRegion:(CLRegion *)region method often get triggered 2km far away from the defined region, regardless the desired accuracy (cllocationManager.desiredAccuracy=kCLLocationAccuracyBest) and the radius of region ([CLCircularRegion alloc]initWithCenter:o.coordinate radius:o.radius identifier:name).
The discussion on forum implies that the region features are based on cell and the accuracy could only be at kilometre level. I haven't test it on device. But currently, it seems not qualified to use for small region detection.