Frage

Ich verwende eine benutzerdefinierte Klasse, um den Benutzerstandort zu aktualisieren. Bei der Initialisierung der Klasse erstelle ich ein CllocationManager -Objekt, das von der Klasse verwendet werden soll

CLLocationManager *locManager = [[CLLocationManager alloc] init];
[self setLocationManager:locManager];

Die Linie, die einen Null zurückgibt, ist CllocationManager *locManager = [[CllocationManager alloc] init]; Das verursacht ein Problem.

Dieser Code funktioniert die meiste Zeit großartig. Auf einem bestimmten Gerät (Betriebssystemversion 3.1) gibt der Init jedoch einen Null zurück. Irgendeine Idee, warum CllocationManager einen NIL zur Initialisierung zurückgeben würde?

Vielen Dank.

War es hilfreich?

Lösung

Wenn eine Anwendung zum ersten Mal initialisiert, dass Standortdienste initialisiert, fragt das Betriebssystem den Benutzer, ob dies in Ordnung ist. Wenn sie nein sagen, ist es auf nachfolgenden Läufen möglich, Null zu bekommen. Möglicherweise möchten Sie diese Funktionen überprüfen und anmutig abbauen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top