2013-11-23 8 views
5

Mit IBeacon und Corelocation ich die folgende Fehlermeldung empfangen:CLLocationManager kCLErrorDomain Codes?

Fehler Domain = kCLErrorDomain-Code = 16 „Der Vorgang konnte nicht abgeschlossen werden (kCLErrorDomain Fehler 16)

Wenn ich es fehlt bin. , es scheint nicht für einen klaren Hinweis auf Apple zu sein, was jeder der Fehlercode bedeutet

Kann jemand diesen Fehler interpretieren

der Fehler ruft aus:.?

- (void)locationManager:(CLLocationManager *)manager rangingBeaconsDidFailForRegion: (CLBeaconRegion *)region withError:(NSError *)error{ 
NSLog(@"%@", error); 
} 

- (void)locationManager:(CLLocationManager *)manager monitoringDidFailForRegion:(CLRegion *)region withError:(NSError *)error{ 
NSLog(@"%@", error); } 
+1

Schauen Sie sich die Dokumentation für [CLError] (https://developer.apple.com/library/mac/documentation/CoreLocation/Reference/CoreLocationConstantsRef/Reference/reference.html) und die Header-Datei '' CLError.h an '' – quellish

Antwort

12

Schauen Sie sich die Dokumentation für CLError an. Wert 16 ist kCLErrorRangingUnavailable.

Die docs sagen:

Ranging is disabled. This might happen if the device is in Airplane mode or if Bluetooth or location services are disabled.

+0

Ausgezeichnet. Danke für diesen Tipp. (Voted) –

+1

Ja, danke dafür - obwohl es eindeutig ein Fehler mit Apple ist. Die Standortdienste funktionierten eindeutig, als die Beacons in Reichweite gebracht wurden, und dann kam dieser kurze Fehler, der sich dann automatisch korrigierte. Also die Beacons reichen gut, Sie erhalten dann die Fehlermeldung, und es reicht wieder gut. Wir haben das Telefon oder die Bake nicht berührt und basierend auf der Überwachung der Bake gab es keine Änderung der Signalstärke. Danke für Ihre Antwort! – BEEKn

+0

Das Telefon ein- und ausschalten reparierte es für mich. – shim

1

Auch sicherstellen, dass Sie Hintergrundaktualisierung aktiviert haben. Aus irgendeinem Grund mit meinem iPhone 5s auf iOS 7.1.1, Beacons würde nicht reichen, wenn Hintergrund App Refresh deaktiviert ist, auch wenn meine App im Vordergrund ist. Durch das Aktivieren der App-Aktualisierung wurden die Beacons erneut aktiviert.

1

Sie können die CLError-Enumeration und den an Ihren Standortmanager zurückgegebenen Fehler verwenden, um Ortsfehler auf eine bestimmte und klare Weise zu behandeln.

Es sieht wie folgt aus:

func locationManager(manager: CLLocationManager!, didFailWithError error: NSError!) { 
    if let locationError = CLError(rawValue: error.code) { 
    switch locationError { 
    case .Denied: 
     println("Location permissions denied") 
    default: 
     println("Unhandled error with location: \(error)") 
    } 
    } 
} 

Danke für die CLError Spitze @rmaddy.