CLLocation didupdatetolocation nicht genannt
Verbrachte einige Tage versucht zu lösen, diese aber nicht in der Lage zu finden, Lösungen, die funktioniert. Ich habe alle post auf stackoverflow und versucht, alle Ihre Lösungen, und nichts scheint zu funktionieren für Sie. Ich habe auch versucht den apple-test-Projekt für CLLocation, die funktioniert gut für mich. Ich benutzte bits und Stücke aus dem apple-test-Projekt
https://developer.apple.com/library/ios/samplecode/LocateMe/Listings/README_md.html
Aber mein code funktioniert nicht bei allen. Die DidupdateToLocation nie aufgerufen wird.
Hier ist mein code (in viewDidLoad)
_locationManager = [[CLLocationManager alloc] init];
self.locationManager.delegate = self;
//This is the most important property to set for the manager. It ultimately determines how the manager will
//attempt to acquire location and thus, the amount of power that will be consumed.
self.locationManager.desiredAccuracy = kCLLocationAccuracyBest;
//Once configured, the location manager must be "started"
//
//for iOS 8, specific user level permission is required,
//"when-in-use" authorization grants access to the user's location
//
//important: be sure to include NSLocationWhenInUseUsageDescription along with its
//explanation string in your Info.plist or startUpdatingLocation will not work.
//
if ([self.locationManager respondsToSelector:@selector(requestWhenInUseAuthorization)]) {
[self.locationManager requestWhenInUseAuthorization];
}
[self.locationManager startUpdatingLocation];
[self performSelector:@selector(stopUpdatingLocationWithMessage:)
withObject:@"Timed Out"
afterDelay:30];
Ich habe überprüft, um sicherzustellen, dass locationServicesEnabled aktiviert ist.
Habe ich Hinzugefügt, NSLoationWhenInUseUsageDescription-Eigenschaft, um die info.plist-Datei. Gibt es irgendeine andere Eigenschaft, die ich brauchen, um hinzuzufügen, oder aktivieren Sie alle Dienste??
Kann ich nicht für die Liebe Gottes herauszufinden, was ich falsch gemacht habe. Kann jemand bitte helfen Sie mir mit diesem.
- btw die Autorisierungs-Warnmeldung erscheint?
- die Genehmigung der Ausschreibung nicht pop-up
- Dann denke ich didChangeAuthorizationStatus callback weder genannt, bekommen, richtig? Der Ortungsdienst für die app aktiviert ist? (Einstellungen/Datenschutz/Ortungsdienste) Sind Sie sicher, dass Sie die rechts-Taste, um Ihre .plist?
- hey david, ja ich habe überprüft, dass ich bin das hinzufügen die rechts-Taste, um die plist. kann immer noch nicht erhalten, es funktioniert. Hatte diese auf für eine Weile halten. gonna versuchen und zu beheben heute
Du musst angemeldet sein, um einen Kommentar abzugeben.
Müssen Sie rufen Sie die startUpdatingLocation nach Erhalt der didChangeAuthorizationStatus Rückruf auf iOS8.
Umsetzung dieser Delegat-Methode:
Ersten, vergessen Sie nicht, mit IOS 8, die Sie tun müssen
[locationManager requestWhenInUseAuthorization]
plus[locationManager requestAlwaysAuthorization];
und in Ihrem
didUpdateLocations
requestWhenInUseAuthorization
undrequestAlwaysAuthorization
ist die Lösung.Dumm mich. Ich fügte hinzu, die keywords zu, die falsche plist-Datei. Ich habe es jetzt funktioniert. Vielen Dank für Ihre Hilfe Jungs.
Ich habe gerade einen ganzen morgen auf diese [in ehrlich gesagt, ich bin relativ neu OOC], die sowieso das problem..
didUpdateLocation kompiliert und wird nie aufgerufen.
didUpdateLocations kompiliert und funktioniert!!
Nicht die Antwort in diesem Fall würde es scheinen, aber es ist die Frage, eine einfache Fehler zu machen. Mit IOS 8.1.3 & Xcode 6.1.1
Fügen Sie einfach drei Eigenschaften in der Info.plist.
Um die aktuelle Lage, wenn es ruft nicht didUpdateToLocation Methode
NSLocationWhenInUseUsageDescription
vom Typ String.NSLocationAlwaysUsageDescription
privacy - location usage description