Я только что обновил до Xcode 6/iOS 8 SDK, и мое симулятор службы определения местоположения в симуляторе не начал работать. Это было хорошо, прежде чем я обновил (в настоящее время я не могу проверить на реальном устройстве). Теперь, когда я выбираю место для симуляции, ничего не происходит. Метод делегата -(void)locationManager:(CLLocationManager *)manager didUpdateLocations:(NSArray *)locations
не вызывается. Я перезапустил Xcode, очистил папку сборки, ничего не изменилось. Почему это может произойти?Xcode 6/iOS 8 Местоположение Моделирование не работает
ответ
С IOS 8 вам нужно попросить авторизацию перед запуском CLLocationManager.
Вы называете один из этих методов?
[self.locationManager requestWhenInUseAuthorization]; // For foreground access
[self.locationManager requestAlwaysAuthorization]; // For background access
Если вы создали проект до XCode 6, вы, вероятно, также необходимо добавить info.plist записи для нового разрешения.
Для получения более подробной информации посмотрите на этот пост: Location Services not working in iOS 8
Добавить Ниже кода в методе
if ([self.locationManager respondsToSelector:@selector(requestWhenInUseAuthorization)])
{
[self.locationManager requestWhenInUseAuthorization];
}
Кроме того, добавьте ниже строки в файле info.plist
Ключ: NSLocationWhenInUseUsageDescription
значение: Пользы текущее местоположение
Другие ответы верны, но мне также пришлось сбрасывать симулятор Я мог получить местоположение, тогда как он работал нормально на устройстве. Приложение было первоначально установлено на этом тренажере, прежде чем прошивкой 8.
Для сброса тренажера:
Использование Xcode 6.3.1 У меня было обновление выбора положения остановки. Исправление заключалось в том, чтобы запустить другой проект, выберите «Имитировать местоположение> Не имитировать местоположение», затем снова создайте исходный проект, чтобы возобновить обычную настройку местоположения.
- (void)startLocationUpdates{
geocoder = [[CLGeocoder alloc] init];
locationManager = [[CLLocationManager alloc] init];
locationManager.delegate = self;
locationManager.distanceFilter = kCLDistanceFilterNone;
locationManager.desiredAccuracy = kCLLocationAccuracyBest;
if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 8.0)
[locationManager requestWhenInUseAuthorization];
[locationManager startUpdatingLocation];
}
- (void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation{
CLLocation *currentLocation = newLocation;
if (currentLocation != nil) {
}
// Reverse Geocoding
[geocoder reverseGeocodeLocation:currentLocation completionHandler:^(NSArray *placemarks, NSError *error) {
if (error == nil && [placemarks count] > 0) {
placemark = [placemarks lastObject];
fullAddress = [NSString stringWithFormat:@"%@,%@,%@,%@",
placemark.thoroughfare,
placemark.locality,
placemark.administrativeArea,
placemark.country];
subtitleLocation = [NSString stringWithFormat:@"PostalCode::%@",
placemark.postalCode];
} else {
// NSLog(@"%@", error.debugDescription);
}
} ];
}
- (void)locationManager:(CLLocationManager *)manager
didFailWithError:(NSError *)error{
NSLog(@"Cannot find the location.");
}
- 1. Местоположение Моделирование без запуска Xcode
- 2. xcode 8 не работает
- 3. Симулятор Xcode 8 не работает
- 4. Масштабирование не работает после обновления Xcode 8
- 5. Шрифт полужирный не работает в Xcode 8
- 6. "Charts" Не работает в Xcode 8
- 7. Xcode 8: UIView не работает как Subview
- 8. Xcode 8 - Отладчик памяти не работает
- 9. Xcode 8 Комментарий Ярлык (Cmd + /) не работает
- 10. Alamofire не работает (Swift/Xcode 8)
- 11. Подсветка синтаксиса Xcode 8 не работает
- 12. iOS 8, Xcode 6 - Локализация не работает
- 13. Qt не работает, так как Xcode 8
- 14. Исправление не работает в Xcode 8
- 15. МЕНЬШЕ моделирование не работает
- 16. Моделирование Python не работает
- 17. Текущее местоположение не работает
- 18. ios 8 Местоположение MapKit не запускается
- 19. Xcode Местоположение на диске
- 20. Местоположение CFBundleDisplayName в xCode
- 21. Местоположение библиотеки Xcode C++
- 22. оном: парить моделирование не работает
- 23. Моделирование движения мышц, не работает
- 24. не удалось достоверно обновить местоположение ios 8
- 25. Местоположение google не работает
- 26. Основное местоположение не работает
- 27. Угловые $ местоположение не работает
- 28. Местоположение заголовка не работает
- 29. Местоположение ядра не работает на симуляторе ios
- 30. Телеграмма не поддерживается Xcode 8
Любой человек, имеющих проблемы с этим, я боролся за некоторое время, потому что я использовал '[locationManager requestWhenInUseAuthorization],' в приложении, но объявил 'NSLocationAlwaysUsageDescription' в .plist файл (обратите внимание на разницу в" всегда "и" когда используется ". Это решение работает, но убедитесь, что вы ** объявляете правильный тип описания использования **, либо' NSLocationWhenInUseUsageDescription', либо 'NSLocationAlwaysUsageDescription' (или, возможно, оба) – 1owk3y