Имам две CLLocationManage в рамките на приложение. Първият е за наблюдение на регионите за маяк, докато другият е за наблюдение на нормалния CLRegion.
Първият в A.m
// Do any additional setup after loading the view.
self.locationManager = [[CLLocationManager alloc] init];
self.locationManager.delegate = self;
Втори в Б.м
gpsLocationManager = [[CLLocationManager alloc] init];
gpsLocationManager.delegate = self;
За последното съм почти сигурен, не съм извикал никакъв startMonitoringForRegion за нито един регион на маяк. Изглежда обаче, че gpsLocationmanager в B продължава да получава обратното извикване enterRegion от този в A. Така че завършва с моята проверка на параметъра на предадения регион, за да накарам gpsLocationManager да не отговаря на никакво обратно извикване от въвеждане на регион на маяк.
- (void)locationManager:(CLLocationManager *)manager didEnterRegion:(CLRegion *)region
{
NSLog(@"%d regions under monitor:", self.gpsLocationManager.monitoredRegions.count);
NSLog(@"%d regions in regionArray:", self.regionArray.count);
NSLog(@"Region type %@:", [region class]);
if(![region isKindOfClass:[CLBeaconRegion class]]){
Някаква идея?
Поздрави Хамър