iPhone - cllocationManager init gibt nil zurück
-
19-09-2019 - |
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.
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.