monitoringDidFailForRegion beim Regionieren für iBeacon, kCLErrorDomain-Fehler 5

Ich arbeite an einer einfachen App, die CoreLocation in iOS 7.1 verwendet, um ein voreingestelltes iBeacon zu ermitteln.

Mein Code hat sehr gut funktioniert, bis er plötzlich aufhörte. Ich habe nichts am Code geändert.

Der aufgetretene Fehler war "kCLErrorDomain error 5" bei "monitoringDidFailForRegion" nach dem Start der Überwachung bei "ViewDidLoad":

self.locationManager = [[CLLocationManager alloc] init];
self.locationManager.delegate = self;

 NSUUID *uuid = [[NSUUID alloc] initWithUUIDString:@"0E82E0A4-03FF-4A92-9C87-1F978917BD51"];
self.beaconRegion = [[CLBeaconRegion alloc] initWithProximityUUID:uuid identifier:@"com.henry.beacon"];
self.beaconRegion.notifyEntryStateOnDisplay = YES;

if ([CLLocationManager isMonitoringAvailableForClass:[CLBeaconRegion class]])
{
    NSLog(@"Monitoring is available.");
    [self.locationManager startMonitoringForRegion:self.beaconRegion];
    [self.locationManager requestStateForRegion:self.beaconRegion];
}

Der Delegat ist richtig eingerichtet:

@interface ViewController : UIViewController <CLLocationManagerDelegate>

Ich habe die Anzahl der überwachten Regionen und überprüft

[[self.locationManager monitoredRegions] count]

hat mir gezeigt, dass derzeit 2 Regionen überwacht werden. Seltsam.

Das Einzige, was geholfen hat, war das Zurücksetzen des iOS-Geräts (iPad Mini mit iOS 7.1). Danach ist die Anzahl der überwachten Regionen wieder auf 1 (was korrekt sein sollte).

Trifft jemand von euch auf dasselbe und mache ich etwas falsch in meinem Code? Ist das ein Fehler in iOS 7.1?

Vielen Dank für alle Kommentare / Hilfe.

Henry

Aktualisieren:

Ich habe einen weiteren Thread zu diesem Thema gefunden, der einige interessante Erkenntnisse lieferte:

iBeacon: didRangeBeacons wird nicht mehr aufgerufen. Das Gerät muss zurückgesetzt werden, damit es wieder funktioniert

Es scheint, als wäre es wirklich ein Fehler in iOS 7.1. Vielen Dank für Ihre Kommentare dazu.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage