
[Solved-4 Solutions] Location Manager Error : (KCLErrorDomain error 0)
Error Description:
- Location Manager Error : Operation could not be completed(KCLErrorDomain error 0).Why this error occurs?
Solution 1:
- This error occurs if you have Scheme/Edit Scheme/Options/Allow Location Simulation checked but don’t have a default location set.
Solution 2:
- Product > Scheme > Edit Scheme
- Click Run .app
- Option tab
- Already checked Core Location > select your location
- Press OK
Besides that, even if you are not connected to wifi, you can set a location in simulator through top menu items Debug>Location and to make it permanent follow steps above
Solution 3:
- Check that you actually have a valid WiFi and 3G connection
If you do, then
- Go to settings and reset your location services and reset your network settings
Solution 4:
- You can add your own list of locations to Xcode to test your applications with.
From within Xcode select the menu Debug/Simulate Location and you’ll be offered: - «Don’t Simulate Location»
- «Add GPX File to Project…»
- Select «Add GPX File to Project…» and select the GPX file you’ve created.
Я хочу получить текущее местоположение, но вместо этого я получаю ошибку.
это фрагмент моего контроллера вида.
- (void)viewDidLoad {
self.locationManager = [[CLLocationManager alloc] init];
[locationManager setDelegate:self];
[locationManager setDesiredAccuracy:kCLLocationAccuracyNearestTenMeters];
[locationManager startUpdatingLocation];
}
- (void)locationManager:(CLLocationManager *)manager
didUpdateLocations:(NSArray<CLLocation *> *)locations {
// I would get the latest location here
// but this method never gets called
}
- (void)locationManager:(CLLocationManager *)manager
didFailWithError:(NSError *)error {
NSLog(@"didFailWithError: %@", error);
}
Я ожидаю метод делегата locationManager:didUpdateLocations: чтобы получить вызов, но вместо этого только locationManager:didFailWithError: звонит, и печатает это:
didFailWithError: Error Domain=kCLErrorDomain Code=0 "The operation couldn’t be completed. (kCLErrorDomain error 0.)"
17 ответов
-
проверьте, что у вас действительно есть действительное соединение WiFi и 3G
…если да, то:
-
перейдите в настройки и сбросить службы определения местоположения
- сбросить настройки сети
Это должно решить эту проблему. Это связано с устройством / сетью, а не с приложением. Это раздражает, особенно если ваше приложение зависит от услуг, расположение и устройство WiFi только и люди дают негативные рейтинги в AppStore… Простите,я становлюсь немного эмоциональным.
Если вы используете тренажер:
- пресс
command + shift + ,в Xcode, чтобы открыть редактор схемы - выбрать программу
- перейдите на вкладку Параметры
- Регистрация
Allow Location Simulation - выберите местоположение по умолчанию в раскрывающемся списке
выбор None поскольку ваше местоположение по умолчанию, возможно, вызвало проблему.
просто проигнорируйте эту ошибку и дождитесь дополнительных обновлений или другой ошибки.
документы для диспетчера местоположений говорят, что эта ошибка является временной. Это дает вам знать, что ему не удалось сразу получить местоположение, но он продолжает пытаться. «В такой ситуации можно просто проигнорировать ошибку и дождаться нового события.»Это действительно тупой способ использовать метод с именем locationManager:didFailWithError: — Спасибо Apple!
Apple Documentation
попробуйте перезапустить симулятор (предполагая, что вы используете).
попробовав все остальное, это сработало для меня.
перезапуск симулятора не сработал для меня.
Я должен был очистить все через
"iOS Simulator" >> "Reset Content and.
Settings...
14
автор: Brandon O’Rourke
Я получал эту ошибку на симуляторе. Нажатие кнопки расположение на панели отладки и установка местоположения исправили проблему для меня. (Убедитесь, что кнопка синяя)
У меня такая же проблема. Я считаю, что возможные объяснения / исправления покрыты в должности.
изменение «местоположения» на симуляторе сработало для меня.
Debug > Location > (мой был проверен ни один вместо езды на велосипеде по городу
например)
в симуляторе перейдите в Настройки > Общие > Сброс > Сброс местоположения и конфиденциальности
выйти из симулятора и запустить приложение снова
предполагая, что вы используете симулятор, вы можете Debug -> Location и установить местоположение.
Если вы не выбрали у вас будет эта ошибка.
2
автор: Rodrigo Gonzalez
Если вы используете custom location убедитесь, что у вас есть длинный и lat правильный путь, я его перевернул и потратил 3 часа, прежде чем понял…
Я вижу проблему раньше,есть способ ее решить,но она может работать только один раз.Если вы хотите запустить проект снова, и вам нужно повторять решение каждый раз.
1.В Xcode, Product — > Scheme — > Edit Scheme, затем отмените «разрешить симулятор местоположения».
2.К симулятору iOS и сбросить содержимое и настройки.
3.Снова в Xcode,повторите первый шаг.
4.К симулятору iOS и сбросу. Затем это сработает.
такие проблемы можно решить, установив местоположение как»Apple«. По крайней мере, это работает для тестирования.
1
автор: Pandurang Yachwad
- я сбросил содержимое и настройки.
- удалены данные из производных данных.
- перезапустил Xcode и симулятор и работал на меня.
из ответа @Mem и многих других спасибо
для возвращенных разработчиков:) просто выберите»Debug->Location->Freeway Drive» из меню симулятора. Если все еще проблема, попробуйте после выполнения «Simulator- > Reset Content and Settings» сформировать меню симулятора. Это помогло мне однажды в том же вопросе. Некоторое время расположение симулятора установлено в «Custom location » из-за чего он ничего не обнаруживает.
попробуйте в устройстве. Иногда симулятор не может принять ваше местоположение.
домой в симулятор
главная — > Настройки — > Конфиденциальность — >местоположения — > выберите приложение и выберите всегда
Содержание
- Error Domain=kCLErrorDomain Code=0 error in iOS when upgraded to expo sdk 34 — Location.getCurrentPositionAsync #5487
- Comments
- 🐛 Bug Report
- Environment
- Steps to Reproduce
- Expected Behavior
- Actual Behavior
- Reproducible Demo
- IOS 9 Error Domain = kCLErrorDomain Code = 0 «(null)»
- 6 ответов
- didFailWithError: Error Domain=Kclerrordomain Code=0 » не удалось завершить операцию. (ошибка kCLErrorDomain 0.)»
- 17 ответов:
- didFailWithError: ошибка домена=код kCLErrorDomain=0 » операция не может быть завершена. (ошибка kCLErrorDomain 0.)»
- 17 ответов
Error Domain=kCLErrorDomain Code=0 error in iOS when upgraded to expo sdk 34 — Location.getCurrentPositionAsync #5487
🐛 Bug Report
Environment
Expo CLI 3.0.4 environment info:
System:
OS: macOS High Sierra 10.13.6
Shell: 3.2.57 — /bin/bash
Binaries:
Node: 10.13.0 — /usr/local/bin/node
Yarn: 1.13.0 — /usr/local/bin/yarn
npm: 6.4.1 — /usr/local/bin/npm
IDEs:
Android Studio: 3.1 AI-173.4907809
Xcode: 10.1/10B61 — /usr/bin/xcodebuild
npmPackages:
@types/expo: ^32.0.3 => 32.0.13
@types/react: ^16.5.0 => 16.9.2
@types/react-native: 0.57.34 => 0.57.34
@types/react-navigation: ^3.0.1 => 3.0.8
expo: ^34.0.3 => 34.0.4
react: 16.8.3 => 16.8.3
react-native: https://github.com/expo/react-native/archive/sdk-34.0.0.tar.gz => 0.59.8
react-navigation: ^3.11.1 => 3.11.1
npmGlobalPackages:
expo-cli: 3.0.4
Steps to Reproduce
Recently I upgraded from expo sdk 32 to 34 version. As part of this changes, changed the references to expo-location library. expo-location version is 6.0.0. After this upgrade, Location.getCurrentPositionAsync function throws error «Cannot obtain current location: Error Domain=kCLErrorDomain Code=0(null)» from iOS devices (Not simulators) intermittently. In android, its working without any issues. This function was working perfectly when we were using expo sdk 32.
Expected Behavior
Return location coordinates.
Actual Behavior
Its throwing error «Cannot obtain current location: Error Domain=kCLErrorDomain Code=0»
Reproducible Demo
The text was updated successfully, but these errors were encountered:
Источник
IOS 9 Error Domain = kCLErrorDomain Code = 0 «(null)»
Код ниже должен получить текущее местоположение. Но выше возникает ошибка. Функция didUpdateLocations никогда не вызывается.
Запуск на устройстве (iPhone 5s) iOS 9.1. Info.plist имеет необходимые возможности устройства и Конфиденциальность — описание использования местоположения, настроенное, как показано на прикрепленном изображении. Пожалуйста помоги!
6 ответов
Откройте свой симулятор:
Особенности => Местоположение => CustomLocation
У меня есть эти предложения для людей, использующих карты Apple в своих приложениях
- Не полагайтесь на результаты симулятора, потому что он не всегда дает точных результатов.
- Для всей отладки, связанной с картой, и тестирования выполнения на реальных устройствах.
- Как и в xcode 8 (насколько мне известно), вы можете просто подключить свое устройство iOS к системе и напрямую запустить приложение.
- Даже для вышеуказанной проблемы решение такое же, просто попробуйте с реальными устройствами, ваша проблема будет решена.
Попробуйте это в Simulator -> Debug -> Location
У меня была такая же проблема с приложением, которое я перемещал с 8.0 на 9.0 / 9.1. Я пробовал пару вещей, например, написать часть CLLocationManager только на Swift, а также новый проект Obj-C. Также тестировал на разных устройствах. Чтобы решить проблему на устройстве, я удалил функцию didFailWithError. Что полностью останавливает ошибку. Это может показаться не лучшей идеей, но в IOS9 вы можете ограничить свое приложение устройствами, имеющими GPS или службы определения местоположения. Android делает это очень давно. Я также заметил, что в вашем .plist у вас нет разрешений, включенных для NSLocationALwaysUsageDescription или свойств NSLocationWhenInUseUsageDescrtiption.
Просто для справки я прикрепил то, как выглядит мой текущий .plist, который не вызывает эту ошибку, а также фрагмент кода в obj-c файле контроллера. Код начинается в самом конце предыдущей функции, а затем закомментирован делегат didFailWithError и didUpdateLocations. В настоящее время это успешно работает в iOS 9.1.
Поиск в Google истинных ответов, кажется, проблема с IOS4.0.
В XCODE 7.1 в Project => scheme => edit scheme.
В разделе «Выполнить» => «Параметры» => «Местоположение ядра» / отключить «Разрешить моделирование местоположения».
В симуляторе IOS в разделе «Отладка» => «Местоположение» выберите местоположение. Это устранило проблему для меня.
Если предупреждение об авторизации местоположения не появляется, попробуйте добавить NSLocationAlwaysUsageDescription в свой список в виде строки типа. Также сделайте то же самое для NSLocationWhenInUseUsageDescription.
Источник
didFailWithError: Error Domain=Kclerrordomain Code=0 » не удалось завершить операцию. (ошибка kCLErrorDomain 0.)»
Я хочу, чтобы получить текущее местоположение, но вместо этого я получаю сообщение об ошибке.
это фрагмент моего контроллера вида.
Я ожидаю делегат метод locationManager:didUpdateLocations: чтобы получить вызов, но вместо этого, только locationManager:didFailWithError: звонит, и печатает это:
17 ответов:
проверьте, что у вас действительно есть действительное соединение Wi-Fi и 3G
перейдите в настройки и сбросьте свои службы определения местоположения
Это должно решить эту проблему. Это связано с устройством / сетью, а не с приложением. Это раздражает, особенно если ваше приложение зависит от услуг, расположение и устройство WiFi только и люди дают негативные рейтинги в AppStore. Простите, я тут немного волнуюсь.
- пресс command + shift + , в Xcode, чтобы открыть редактор схемы
- выбрать программу
- перейдите на вкладку Параметры
- Регистрация Allow Location Simulation
- выберите расположение по умолчанию в раскрывающемся списке
выбор None Как ваше местоположение по умолчанию, возможно, вызвало проблему.
просто игнорировать эту ошибку и ждать дальнейших обновлений или иной ошибки.
документы для диспетчера местоположений говорят, что эта ошибка является временной. Это дает вам знать, что он не смог сразу получить местоположение, но он продолжает пытаться. «В такой ситуации можно просто игнорировать ошибку и ждать нового события.»Это действительно тупой способ использовать метод с именем locationManager:didFailWithError: — Спасибо Apple!
попробуйте перезапустить симулятор (предполагая, что вы используете).
после попытки все остальное это работало для меня.
перезапуск симулятора не сработал для меня.
Я должен был очистить все через «iOS Simulator» >> «Reset Content and Settings. .
Я получаю эту ошибку на тренажере. Нажатие кнопки расположение на панели отладки и установка местоположения исправили проблему для меня. (Убедитесь, что кнопка синего цвета)
У меня та же проблема. Я считаю, что возможные объяснения / исправления покрыты в должности.
изменение «местоположения» на симуляторе сработало для меня.
отладка > местоположение > (у меня нет вместо города на велосипеде например)
в симуляторе перейдите в Настройки > Общие > Сброс > Сброс местоположения и конфиденциальности
выйти из симулятора и снова запустить приложение
предполагая, что вы используете симулятор, вы можете Debug -> Location и установить местоположение.
Если у вас нет ни одного выбранного вы будете иметь эту ошибку.
Если вы используете custom location убедитесь, что у вас есть длинный и lat правильный путь, я его перевернул и потратил 3 часа, прежде чем понял.
Я вижу проблему раньше,есть способ ее решить,но она может работать только один раз.Если вы хотите запустить проект снова, и вам нужно повторять решение каждый раз.
1.In Xcode, Product — > Scheme — > Edit Scheme,затем отмените «разрешить симулятор местоположения».
2.To симулятор iOS и сброс содержимого и настроек.
3.Снова к Xcode, повторите первый шаг.
4.To симулятор iOS и сброс. Затем это сработает.
такие проблемы можно решить, установив местоположение как» Apple «. По крайней мере, это работает для целей тестирования.
- я сбросил содержимое и настройки.
- удалены данные из производных данных.
- перезапустил Xcode, а симулятор и работал на меня.
из ответа @Mem и многих других спасибо
для возвращенных разработчиков:) просто выберите» Debug->Location->Freeway Drive » из меню симулятора. Если все еще проблема, то попробуйте после выполнения «симулятор- > сброс содержимого и настроек» сформировать меню симулятора. Это помогло мне однажды с той же проблемой. Некоторое время расположение симулятора установлено на » Custom location » из-за чего он ничего не обнаруживает.
попробуйте в устройстве. Иногда симулятор не может принять ваше местоположение.
главная страница — > Настройки — > Конфиденциальность — > места — > выберите приложение и выберите всегда
Источник
didFailWithError: ошибка домена=код kCLErrorDomain=0 » операция не может быть завершена. (ошибка kCLErrorDomain 0.)»
Я хочу получить текущее местоположение, но вместо этого я получаю ошибку.
это фрагмент моего контроллера вида.
Я ожидаю метод делегата locationManager:didUpdateLocations: чтобы получить вызов, но вместо этого только locationManager:didFailWithError: звонит, и печатает это:
17 ответов
проверьте, что у вас действительно есть действительное соединение WiFi и 3G
перейдите в настройки и сбросить службы определения местоположения
Это должно решить эту проблему. Это связано с устройством / сетью, а не с приложением. Это раздражает, особенно если ваше приложение зависит от услуг, расположение и устройство WiFi только и люди дают негативные рейтинги в AppStore. Простите,я становлюсь немного эмоциональным.
Если вы используете тренажер:
- пресс command + shift + , в Xcode, чтобы открыть редактор схемы
- выбрать программу
- перейдите на вкладку Параметры
- Регистрация Allow Location Simulation
- выберите местоположение по умолчанию в раскрывающемся списке
выбор None поскольку ваше местоположение по умолчанию, возможно, вызвало проблему.
просто проигнорируйте эту ошибку и дождитесь дополнительных обновлений или другой ошибки.
документы для диспетчера местоположений говорят, что эта ошибка является временной. Это дает вам знать, что ему не удалось сразу получить местоположение, но он продолжает пытаться. «В такой ситуации можно просто проигнорировать ошибку и дождаться нового события.»Это действительно тупой способ использовать метод с именем locationManager:didFailWithError: — Спасибо Apple!
попробуйте перезапустить симулятор (предполагая, что вы используете).
попробовав все остальное, это сработало для меня.
перезапуск симулятора не сработал для меня.
Я должен был очистить все через «iOS Simulator» >> «Reset Content and Settings. .
Я получал эту ошибку на симуляторе. Нажатие кнопки расположение на панели отладки и установка местоположения исправили проблему для меня. (Убедитесь, что кнопка синяя)
У меня такая же проблема. Я считаю, что возможные объяснения / исправления покрыты в должности.
изменение «местоположения» на симуляторе сработало для меня.
Debug > Location > (мой был проверен ни один вместо езды на велосипеде по городу например)
в симуляторе перейдите в Настройки > Общие > Сброс > Сброс местоположения и конфиденциальности
выйти из симулятора и запустить приложение снова
предполагая, что вы используете симулятор, вы можете Debug -> Location и установить местоположение.
Если вы не выбрали у вас будет эта ошибка.
Если вы используете custom location убедитесь, что у вас есть длинный и lat правильный путь, я его перевернул и потратил 3 часа, прежде чем понял.
Я вижу проблему раньше,есть способ ее решить,но она может работать только один раз.Если вы хотите запустить проект снова, и вам нужно повторять решение каждый раз.
1.В Xcode, Product — > Scheme — > Edit Scheme, затем отмените «разрешить симулятор местоположения».
2.К симулятору iOS и сбросить содержимое и настройки.
3.Снова в Xcode,повторите первый шаг.
4.К симулятору iOS и сбросу. Затем это сработает.
такие проблемы можно решить, установив местоположение как» Apple «. По крайней мере, это работает для тестирования.
- я сбросил содержимое и настройки.
- удалены данные из производных данных.
- перезапустил Xcode и симулятор и работал на меня.
из ответа @Mem и многих других спасибо
для возвращенных разработчиков:) просто выберите» Debug->Location->Freeway Drive » из меню симулятора. Если все еще проблема, попробуйте после выполнения «Simulator- > Reset Content and Settings» сформировать меню симулятора. Это помогло мне однажды в том же вопросе. Некоторое время расположение симулятора установлено в » Custom location » из-за чего он ничего не обнаруживает.
попробуйте в устройстве. Иногда симулятор не может принять ваше местоположение.
домой в симулятор
главная — > Настройки — > Конфиденциальность — >местоположения — > выберите приложение и выберите всегда
Источник
Я хочу, чтобы получить текущее местоположение, но вместо этого я получаю сообщение об ошибке.
это фрагмент моего контроллера вида.
- (void)viewDidLoad {
self.locationManager = [[CLLocationManager alloc] init];
[locationManager setDelegate:self];
[locationManager setDesiredAccuracy:kCLLocationAccuracyNearestTenMeters];
[locationManager startUpdatingLocation];
}
- (void)locationManager:(CLLocationManager *)manager
didUpdateLocations:(NSArray<CLLocation *> *)locations {
// I would get the latest location here
// but this method never gets called
}
- (void)locationManager:(CLLocationManager *)manager
didFailWithError:(NSError *)error {
NSLog(@"didFailWithError: %@", error);
}
Я ожидаю делегат метод locationManager:didUpdateLocations: чтобы получить вызов, но вместо этого, только locationManager:didFailWithError: звонит, и печатает это:
didFailWithError: Error Domain=kCLErrorDomain Code=0 "The operation couldn’t be completed. (kCLErrorDomain error 0.)"
450
17
17 ответов:
проверьте, что у вас действительно есть действительное соединение Wi-Fi и 3G
…если да, то:
перейдите в настройки и сбросьте свои службы определения местоположения
- Сброс настроек сети
Это должно решить эту проблему. Это связано с устройством / сетью, а не с приложением. Это раздражает, особенно если ваше приложение зависит от услуг, расположение и устройство WiFi только и люди дают негативные рейтинги в AppStore… Простите, я тут немного волнуюсь.
Если вы используете тренажер:
- пресс
command + shift + ,в Xcode, чтобы открыть редактор схемы- выбрать программу
- перейдите на вкладку Параметры
- Регистрация
Allow Location Simulation- выберите расположение по умолчанию в раскрывающемся списке
выбор
NoneКак ваше местоположение по умолчанию, возможно, вызвало проблему.
просто игнорировать эту ошибку и ждать дальнейших обновлений или иной ошибки.
документы для диспетчера местоположений говорят, что эта ошибка является временной. Это дает вам знать, что он не смог сразу получить местоположение, но он продолжает пытаться. «В такой ситуации можно просто игнорировать ошибку и ждать нового события.»Это действительно тупой способ использовать метод с именем
locationManager:didFailWithError:— Спасибо Apple!
Apple Documentation
попробуйте перезапустить симулятор (предполагая, что вы используете).
после попытки все остальное это работало для меня.
перезапуск симулятора не сработал для меня.
Я должен был очистить все через
"iOS Simulator" >> "Reset Content and.
Settings...
Я получаю эту ошибку на тренажере. Нажатие кнопки расположение на панели отладки и установка местоположения исправили проблему для меня. (Убедитесь, что кнопка синего цвета)
У меня та же проблема. Я считаю, что возможные объяснения / исправления покрыты в должности.
изменение «местоположения» на симуляторе сработало для меня.
отладка > местоположение > (у меня нет вместо города на велосипеде
например)
в симуляторе перейдите в Настройки > Общие > Сброс > Сброс местоположения и конфиденциальности
выйти из симулятора и снова запустить приложение
предполагая, что вы используете симулятор, вы можете
Debug -> Locationи установить местоположение.Если у вас нет ни одного выбранного вы будете иметь эту ошибку.
Если вы используете
custom locationубедитесь, что у вас есть длинный и lat правильный путь, я его перевернул и потратил 3 часа, прежде чем понял…
Я вижу проблему раньше,есть способ ее решить,но она может работать только один раз.Если вы хотите запустить проект снова, и вам нужно повторять решение каждый раз.
1.In Xcode, Product — > Scheme — > Edit Scheme,затем отмените «разрешить симулятор местоположения».
2.To симулятор iOS и сброс содержимого и настроек.
3.Снова к Xcode, повторите первый шаг.
4.To симулятор iOS и сброс. Затем это сработает.
такие проблемы можно решить, установив местоположение как»
Apple«. По крайней мере, это работает для целей тестирования.
- я сбросил содержимое и настройки.
- удалены данные из производных данных.
- перезапустил Xcode, а симулятор и работал на меня.
из ответа @Mem и многих других спасибо
для возвращенных разработчиков:) просто выберите»
Debug->Location->Freeway Drive» из меню симулятора. Если все еще проблема, то попробуйте после выполнения «симулятор- > сброс содержимого и настроек» сформировать меню симулятора. Это помогло мне однажды с той же проблемой. Некоторое время расположение симулятора установлено на «Custom location» из-за чего он ничего не обнаруживает.
попробуйте в устройстве. Иногда симулятор не может принять ваше местоположение.
перейти к дому в тренажере
главная страница — > Настройки — > Конфиденциальность — > места — > выберите приложение и выберите всегда
Я хочу получить текущее местоположение, но вместо этого получаю сообщение об ошибке.
Это фрагмент моего контроллера представления.
- (void)viewDidLoad {
self.locationManager = [[CLLocationManager alloc] init];
[locationManager setDelegate:self];
[locationManager setDesiredAccuracy:kCLLocationAccuracyNearestTenMeters];
[locationManager startUpdatingLocation];
}
- (void)locationManager:(CLLocationManager *)manager
didUpdateLocations:(NSArray<CLLocation *> *)locations {
// I would get the latest location here
// but this method never gets called
}
- (void)locationManager:(CLLocationManager *)manager
didFailWithError:(NSError *)error {
NSLog(@"didFailWithError: %@", error);
}
Я ожидаю, что метод делегата locationManager:didUpdateLocations: будет вызван, но вместо этого вызывается только locationManager:didFailWithError: и печатает это:
didFailWithError: Error Domain=kCLErrorDomain Code=0 "The operation couldn’t be completed. (kCLErrorDomain error 0.)"
Ответ 1
-
Убедитесь, что у вас есть действующее соединение WiFi и 3G
… если вы это сделаете, то:
-
Зайдите в настройки и сбросьте свои сервисы определения местоположения
- Сброс настроек вашей сети
Это должно решить эту проблему. Это связано с устройством/сетью, а не с приложением. Это раздражает, особенно если ваше приложение зависит от служб определения местоположения, а устройство работает только через Wi-Fi, и люди дают отрицательный рейтинг в AppStore… Извините, я немного волнуюсь.
Ответ 2
Если вы используете симулятор:
- Нажмите
command + shift + ,в Xcode, чтобы открыть редактор схемы - Выберите схему запуска
- Перейдите на вкладку «Параметры»
- Проверить ✅
Allow Location Simulation - Выберите расположение по умолчанию в раскрывающемся меню
Выбор None, поскольку причиной по умолчанию может быть проблема.
Ответ 3
Просто проигнорируйте эту ошибку и подождите больше обновлений или другой ошибки.
Документы для менеджера местоположений говорят, что эта ошибка является временной. Это позволяет вам знать, что он не смог сразу получить местоположение, но он продолжает пытаться. «В такой ситуации вы можете просто игнорировать ошибку и ждать нового события». Который действительно прост в использовании метода с именем locationManager:didFailWithError: — Спасибо Apple!
Apple Documentation
Ответ 4
Попробуйте перезапустить симулятор (предполагая, что вы используете).
После прочего все это сработало для меня.
Ответ 5
Повторный запуск симулятора не помог мне.
Мне пришлось очистить все через
"iOS Simulator" >> "Reset Content and.
Settings...
Ответ 6
Я получал эту ошибку на симуляторе. Щелчок по кнопке местоположения на панели отладки и установка местоположения исправил проблему для меня. (Убедитесь, что кнопка синяя)
Ответ 7
У меня та же проблема. Я считаю, что возможные объяснения/исправления охватываются в этом сообщении SO.
Ответ 8
Изменение «Location» на симуляторе сработало для меня.
Отладкa > Местоположение > (Шахта была отмечена None вместо City Bicycle Ride например.)
Ответ 9
В симуляторе перейдите в Настройки > Общие > Reset > Reset Местоположение и конфиденциальность
Закройте симулятор и запустите приложение снова
Ответ 10
Предполагая, что вы используете симулятор, вы можете Debug -> Location и установить местоположение.
Если вы не выбрали ни одного, вы получите эту ошибку.
Ответ 11
Если вы используете custom location, убедитесь, что у вас есть длинный и лат правильный путь, я его отменил и потратил впустую за 3 часа до того, как понял…
Ответ 12
Я видел проблему раньше, есть способ ее решить, но она может работать только один раз. Если вы хотите снова запустить проект, и вам нужно каждый раз повторять это решение.
1. В Xcode, Product → Scheme → Edit Scheme, затем отмените «Разрешить симулятор местоположения».
2. В iOS Simulator и reset Содержимое и настройка.
3.Again для Xcode, повторите первый шаг.
4. В iOS Simulator и reset. Тогда это сработает.
Ответ 13
Такие проблемы можно решить, установив местоположение как «Apple«. По крайней мере, он работает для целей тестирования.
Ответ 14
- Я сбросил содержимое и настройки.
- Удалены данные из полученных данных.
- Перезагрузил Xcode и Simulator и работал у меня.
из ответа @Mem и многих других спасибо
Ответ 15
Для возвращенных разработчиков:) Просто выберите «Debug->Location->Freeway Drive» в меню Simulator. Если все еще проблема, попробуйте после создания «Simulator → Reset Content and Settings» из меню симулятора. Это помогло мне с той же проблемой. Некоторое время для размещения симулятора установлено значение «Custom location«, из-за которого он ничего не обнаруживает.
Ответ 16
Попробуйте устройство. Иногда симулятор не может занять ваше место.
Ответ 17
Идите домой в симулятор
home → Настройки → Конфиденциальность → Местоположения → выберите приложение и всегда выберите
Ответ 18
при добавлении разрешения Конфиденциальность — Расположение при использовании Описание использования в info.plist было решено за меня
Ответ 19
Если вы используете симулятор, убедитесь, что схема допускает местоположение, и вы выбрали местоположение по умолчанию.
I struggled a while yesterday with getting location services to work, and figured it out this morning.
tl;dr: From Settings app on TV:
Settings -> General -> Privacy -> Location Services -> Apps. Choose your app, and enable the needed location service level.
Here’s what I had:
if status == CLAuthorizationStatus.NotDetermined {
print("requesting authorization")
locationManager.requestWhenInUseAuthorization()
}
// and then later...
locationManager.requestLocation()
Info.plist had the correct NSLocationWhenInUseUsageDescription entry.
When I executed that code, and then queried CLAuthorizationStatus, the value came back as .NotDetermined. Repeatedly triggering the requestWhenInUseAuthorization() did nothing.
Calling .requestLocation() eventually triggered my CLLocationManagerDelegate’s locationManagerDidFailWithError():
locationManager didFailWithError The operation couldn’t be completed. (kCLErrorDomain error 0.)
I tried adding «location-services» to the «Required device capabilties». That generated «Can’t install application: Mapbox Static TV.app cannot be installed on Apple TV. Mapbox Static TV.app requires the “location-services” capability which is not supported by Apple TV.»
I finally went digging in the Settings menu, and saw my app listed there, with a blank authorization status. Siri was listed «while using the app», and Time Zone was listed «always». Choosing the app brought up an alert, to select «while using the app» or «never».
After I made that change in Settings, my first call to CLLocationManager.authorizationStatus() returned .AuthorizedWhenInUse, and my first call to .requestLocation() had the correct value in it.
Back to Settings. Set my app’s permission to «never». Relaunch. Now I immediately see «denied» as status, and didFailWithError shows
locationManager didFailWithError The operation couldn’t be completed. (kCLErrorDomain error 1.)
There’s never a challenge generated by the system to choose location services permission, as you would see in iOS or OS X. Solution for the moment seems to be to query authorizationStatus(), and if it’s showing .NotDetermined, put up your own instructions on what the user should do to authorize location services.
I’ll update this with a Radar number once I file it.
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and
privacy statement. We’ll occasionally send you account related emails.
Already on GitHub?
Sign in
to your account
Closed
cjahfar1 opened this issue
Aug 29, 2019
· 26 comments
Comments
🐛 Bug Report
Environment
Expo CLI 3.0.4 environment info:
System:
OS: macOS High Sierra 10.13.6
Shell: 3.2.57 — /bin/bash
Binaries:
Node: 10.13.0 — /usr/local/bin/node
Yarn: 1.13.0 — /usr/local/bin/yarn
npm: 6.4.1 — /usr/local/bin/npm
IDEs:
Android Studio: 3.1 AI-173.4907809
Xcode: 10.1/10B61 — /usr/bin/xcodebuild
npmPackages:
@types/expo: ^32.0.3 => 32.0.13
@types/react: ^16.5.0 => 16.9.2
@types/react-native: 0.57.34 => 0.57.34
@types/react-navigation: ^3.0.1 => 3.0.8
expo: ^34.0.3 => 34.0.4
react: 16.8.3 => 16.8.3
react-native: https://github.com/expo/react-native/archive/sdk-34.0.0.tar.gz => 0.59.8
react-navigation: ^3.11.1 => 3.11.1
npmGlobalPackages:
expo-cli: 3.0.4
Steps to Reproduce
Recently I upgraded from expo sdk 32 to 34 version. As part of this changes, changed the references to expo-location library. expo-location version is 6.0.0. After this upgrade, Location.getCurrentPositionAsync function throws error «Cannot obtain current location: Error Domain=kCLErrorDomain Code=0(null)» from iOS devices (Not simulators) intermittently. In android, its working without any issues. This function was working perfectly when we were using expo sdk 32.
Expected Behavior
Return location coordinates.
Actual Behavior
Its throwing error «Cannot obtain current location: Error Domain=kCLErrorDomain Code=0»
Reproducible Demo
I got the same issue on real ios device. getCurrentPositionAsync takes too much time (like 10 seconds)
Is it happening in the Expo Client, or standalone? It’s best if you provide a reproducible demo in your bug report
I have the same issue in both development and production environments.
If you are having this issue, please provide a reproducible demo
Is it only SDK 34, or SDK 35 as well?
I also have this issue.. I use
«expo-location»: «^7.0.0»,
«expo-permissions»: «~7.0.0»,
«expo»: «^35.0.1»,
«react-native»: «https://github.com/expo/react-native/archive/sdk-35.0.0.tar.gz»,
//function to get location
_getLocationAsync = async () => {
let { status } = await Permissions.askAsync(Permissions.LOCATION);
if (status !== ‘granted’) {
this.setState({
locationResult: ‘Permission to access location was denied’,
});
console.log(‘Permission to access location was denied’)
return;
}else{
let location = await Location.getCurrentPositionAsync({});
return location;
}
};
It doesnt have a problem fetching the location in android but when it is used in IOS
it will this error
Cannot obtain current location: Error Domain=kCLErrorDomain Code=0 «(null)»
this issue occurs on both testing in expo app or in testflight…
I hope you can help
I got same issue.
I have fixed by enable iOS simulator location setting none->custom …
mahdiTohidloo, ahmedam55, Cornielle, and pgedeon84 reacted with heart emoji
Please share a snack that reproduces this issue
I got the same problem running on iphone and android in production. It sometimes happen and look like intermittent issue under certain condition I haven’t figured out yet.
Same thing happening to me in Expo Client on device (iOS).
"expo": "^36.0.0",
"expo-location": "~8.0.0",
I can’t reproduce this error in the simulator. Reinstalling the app on device doesn’t help.
I think this has to do with this issue: #5504 (comment)
And setting the Location.getCurrentPositionAsync to High should solve it. I had the same issue when I set it to Balanced and it looks like that might be the reason why the error is not consistent because this setting doesn’t always fail.
When it does fail, the linked error is what I got on Android and this issue on iOS.
I’d like someone from Expo to verify this association just to be sure though:)
Same issue here with:
"expo-location": "~8.1.0",
"expo": "^37.0.0",
Setting Location.getCurrentPositionAsync({accuracy: Location.Accuracy.High}) does not help.
I’m also experiencing this issue with:
"expo": "~37.0.3",
"expo-location": "~8.1.0",
It seemed to be working fine yesterday and today suddenly stopped. Running on a physical iPad device.
Update: Tried again the day after and now it’s working again (for now). 🤷♂️
I am also experiencing this unexpected issue, assumed its something to do with the location permission so gave the permission ‘Always’ but that also didn’t seem to rectify it.
Versions:
«expo»: «~37.0.3»,
«expo-location»: «^8.1.0»,
Came across this issue few days back as well, but it seemed to work again after awhile. Please look into this error.
We were not able to successfully reproduce this issue and it refers to SDK that we no longer support, so I’m closing it.
Feel free to open a new issue with updated details and repro steps if it’s still happening in newer SDK versions.
This is an issue I experience with SDK 37 as well. Can we open this back up please?
@Infinitism could you please provide some repro steps or create a minimal app that we could use to reproduce this issue? As far as I know this issue is not related with the app, but with your device and especially network settings (WiFi and cellular). Do you have them enabled?
Does other apps that tracks your location work fine?
I am having this issue while I’m testing on iPhone with iOS 13.4.1.
But it’s working on my other iPhone with iOS 13.2.
Having the same issue on an Ipad:
«expo»: «^37.0.0»,
«expo-location»: «~8.1.0»,
[Unhandled promise rejection: Error: Cannot obtain current location: Error Domain=kCLErrorDomain Code=0 "(null)"]
- node_modules/react-native/Libraries/BatchedBridge/NativeModules.js:99:50 in fn
- node_modules/@unimodules/react-native-adapter/build/NativeModulesProxy.js:15:46 in moduleName.methodInfo.name
- node_modules/expo-location/build/Location.js:63:48 in getCurrentPositionAsync
I will upgrade expo to v39 to see if the issue is solved.
Edit:
Upgraded to Expo v39
«expo-location»: «~9.0.0»,
The issue still persists.
We’re getting such sentries in SDK 39 also
Ditto, sdk 39 and expo-location 9.0.0 still persists
Just got this same error from test flight expo 40 expo-location 10
my guess is it’s the timeout issue from #10756









