Estou usando o recurso de transmissão para atualizações de localização em tempo real e tive um problema. Quando minha posição é fixada no simulador, a atualização funciona normalmente, mas quando eu defino o local para mover (simulador-> depurar-> localização-> execução da cidade), uma exceção é lançada:
[VERBOSE-2:shell.cc(184)] Dart Error: Unhandled exception:
PlatformException(ERROR_UPDATING_LOCATION, The operation couldn’t be completed. (kCLErrorDomain error 0.), null)
#0 _rootHandleUncaughtError.<anonymous closure> (dart:async/zone.dart:1112:29)
#1 _microtaskLoop (dart:async/schedule_microtask.dart:41:21)
#2 _startMicrotaskLoop (dart:async/schedule_microtask.dart:50:5)
O local é atualizado sem lançar uma exceção
var locationOptions =
LocationOptions(accuracy: LocationAccuracy.high, distanceFilter: 10);
geolocator.getPositionStream(locationOptions).listen((Position position) {
print("New pos update: $position");
if (position != null)
setState(() {
_position = position;
});
});
Versão: 2.1.1
Plataforma:
Tenho um problema semelhante - ao usar o stream para atualizações de localização em tempo real, encontrei um problema. Quando minha posição é fixada no simulador, a atualização funciona normalmente. Atualize a posição de depuração / localização algumas vezes e este erro ocorre
[VERBOSE-2: ui_dart_state.cc (148)] Exceção não tratada: PlatformException (ERROR_UPDATING_LOCATION, a operação não pôde ser concluída. (KCLErrorDomain erro 0.), nulo)
Config
Usando o geolocalização: "3.0.0"
Simulador iOS (12.1) e dispositivo (12.1.4)
Estou investigando isso mais a fundo, atualizarei em breve.
Funciona corretamente no simulador iOS 10.1, 11.1
usando - simulador-> depuração-> localização-> via expressa
Falha em 12.1
usando - simulador-> depuração-> localização-> via expressa
PlatformException (ERROR_UPDATING_LOCATION, A operação não pôde ser concluída.
O exemplo de geolocalização falha em 12.1
Estou tendo o mesmo problema
Verdadeiro. Isso acontece mesmo com o exemplo fornecido.
Olá, estou tendo o mesmo problema, mas tentei primeiro "passeio de bicicleta na cidade" e funcionou! Mas então ele falhou ao mudar para "city run" com este erro.
Portanto, City Bicycle Ride pode ser um perfil que você pode usar enquanto isso.
Edição 1: E agora o modo bicicleta parou de funcionar também!
Edição 2: Desinstalar o aplicativo e permitir novamente o acesso ao local corrigiu esse problema para mim.
Eu também estou vendo isso. Eu fiz isso como uma solução alternativa:
StreamSubscription<Position> _positionStream;
void _streamLocation() {
// TODO: initialize _positionStream
_positionStream.onError((e) {
print("error streaming position: $e");
_disposePositionStream();
_streamLocation();
});
}
void _disposePositionStream() {
if (_positionStream != null) {
_positionStream.cancel();
_positionStream = null;
}
}
Reiniciar o stream parece fazê-lo funcionar agora.
NOTA : Esta não é a maneira ideal de lidar com isso anulando _positionStream
enquanto ele ainda está sendo usado por onError
.
Ainda estou recebendo este erro usando o aplicativo de exemplo
Único parece funcionar, embora ocasionalmente relate nulo, o fluxo falha após algumas atualizações.
PlatformException (ERROR_UPDATING_LOCATION, A operação não pôde ser concluída. (KCLErrorDomain erro 0.), nulo)
Config (agora)
Usando o geolocalização: "5.1.1 + 1"
Simulador iOS (12.4) e dispositivo (10.xx)
Por meio de um teste de hack ..
LocationTask.m
Isso funciona de forma confiável no Simulador 12.4 e 10.3
Lembre-se do simulador Debug, Location às vezes precisa ser chutado algumas vezes antes de mudar.
Pensamentos?
Tendo o mesmo problema após atualizar a biblioteca para a versão mais recente. Depois de alguns testes, descobrimos que as exceções são acionadas quando o WiFi está ligado, se habilitar 3g ele funciona corretamente. Alguma solução para isso?
Tendo um problema semelhante. Estou tentando concluir um curso na londonappbrewery. Estou recebendo as seguintes exceções! Não sei como consertar: /
Código:
Ao pressionar o botão, ele mostra:
Iniciando lib / main.dart no iPhone Xʀ no modo de depuração ...
Executando Xcode build ...
Compilação do Xcode concluída. 24.1s
Sincronizando arquivos para o dispositivo iPhone Xʀ ...
[VERBOSE-2: ui_dart_state.cc (148)] Exceção não tratada: PlatformException (ERROR_UPDATING_LOCATION, a operação não pôde ser concluída. (KCLErrorDomain erro 0.), nulo)
Também tentei executá-lo no simulador de Android (Pixel 3a API 28). Funcionou, mas, infelizmente, está fornecendo coordenadas incorretas. A diferença de coordenadas é enorme. Tipo, estou tentando obter uma localização do Paquistão e sua localização em algum lugar dos EUA.
Eu enfrentei o mesmo problema, minha solução é:
Depurar -> Localização ->
Quando eu marquei aqui, nem 'Nenhum' nem 'Local personalizado' foram selecionados, selecionei uma opção como você vê e funcionou.
Também vendo isso para dispositivos iOS em produção no Sentry. Não estou usando atualizações de localização em tempo real, apenas ligações para getCurrentPosition
/ getLastKnownPosition
PlatformException: PlatformException(ERROR_UPDATING_LOCATION, The operation couldn’t be completed. (kCLErrorDomain error 0.), null)
File "message_codecs.dart", line 569, in StandardMethodCodec.decodeEnvelope
File "framework.dart", line 3919, in ComponentElement.mount
File "framework.dart", line 3101, in Element.inflateWidget
File "framework.dart", line 2904, in Element.updateChild
File "framework.dart", line 5127, in SingleChildRenderObjectElement.mount
File "framework.dart", line 3101, in Element.inflateWidget
File "framework.dart", line 2904, in Element.updateChild
File "framework.dart", line 3961, in ComponentElement.performRebuild
File "framework.dart", line 3738, in Element.rebuild
File "framework.dart", line 3924, in ComponentElement._firstBuild
File "framework.dart", line 4088, in StatefulElement._firstBuild
File "framework.dart", line 3919, in ComponentElement.mount
.
.
.
Ideias?
O código a seguir cria o mesmo erro para mim:
import 'package:flutter/material.dart';
import 'package:geolocator/geolocator.dart';
class LoadingScreen extends StatefulWidget {
<strong i="6">@override</strong>
_LoadingScreenState createState() => _LoadingScreenState();
}
class _LoadingScreenState extends State<LoadingScreen> {
void getLocation() async {
Position position = await Geolocator()
.getCurrentPosition(desiredAccuracy: LocationAccuracy.high);
print(position);
}
<strong i="7">@override</strong>
Widget build(BuildContext context) {
return Scaffold(
body: Center(
child: RaisedButton(
onPressed: () {
getLocation();
},
child: Text('Get Location'),
),
),
);
}
}
Android Studio 3.5.3
Versão # AI-191.8026.42.35.6010548, construída em 15 de novembro de 2019
JRE: 1.8.0_202-release-1483-b49-5587405 x86_64
JVM: Servidor VM OpenJDK de 64 bits da JetBrains sro
macOS 10.15.2
Geolocator-5.1.5
location_permissions-2.0.3
versão vibrante: v1.13.5
Executando no similator: Iphone 11 Pro Max 13.3
Como sugerido por @softronauta, definir a localização no aplicativo do simulador eliminará o erro. Portanto, talvez uma mensagem de erro aprimorada ajude. No meu caso, o erro foi porque nenhum local foi definido.
Tendo um problema semelhante. Estou tentando concluir um curso na londonappbrewery. Estou recebendo as seguintes exceções! Não sei como consertar: /
Código:
Ao pressionar o botão, ele mostra:
Iniciando lib / main.dart no iPhone Xʀ no modo de depuração ...
Executando Xcode build ...
Compilação do Xcode concluída. 24.1s
Sincronizando arquivos para o dispositivo iPhone Xʀ ...
[VERBOSE-2: ui_dart_state.cc (148)] Exceção não tratada: PlatformException (ERROR_UPDATING_LOCATION, a operação não pôde ser concluída. (KCLErrorDomain erro 0.), nulo)0 StandardMethodCodec.decodeEnvelope (pacote: flutter / src / services / message_codecs.dart: 569: 7)
1 MethodChannel.invokeMethod (pacote: flutter / src / services / platform_channel.dart: 316: 33)
2 Geolocator.getCurrentPosition (pacote: geolocator / geolocator.dart: 103: 32)
3 _LoadingScreenState.getLocation (pacote: clima / telas / loading_screen.dart: 12: 10)
4 _LoadingScreenState.build. (pacote: clima / telas / loading_screen.dart: 22: 13)
5 _InkResponseState._handleTap (pacote: flutter / src / material / ink_well.dart: 654: 14)
6 _InkResponseState.build. (pacote: flutter / src / material / ink_well.dart: 729: 32)
7 GestureRecognizer.invokeCallback (pacote: flutter / src / gestures / reconhecizer.dart: 182: 24)
8 <…>
Também tentei executá-lo no simulador de Android (Pixel 3a API 28). Funcionou, mas, infelizmente, está fornecendo coordenadas incorretas. A diferença de coordenadas é enorme. Tipo, estou tentando obter uma localização do Paquistão e sua localização em algum lugar dos EUA.
corrigiu-o seguindo o simulador iOS -> Recursos -> Localização -> Localização personalizada ...
Você deve definir sua localização personalizada no simulador em recursos> localização> localização personalizada
locati onManager: didUpdateLocations :
[CurrentLocationTask dealloc]
[LocationTask dealloc]
Segui o simulador iOS -> Recursos -> Localização -> Localização personalizada e agora estou recebendo a mensagem acima. O que é isso?
Eu enfrentei o mesmo problema, minha solução é:
Depurar -> Localização ->Quando eu marquei aqui, nem 'Nenhum' nem 'Local personalizado' foram selecionados, selecionei uma opção como você vê e funcionou.
Eu tive que definir essa opção algumas vezes agora. Por alguma razão, de vez em quando, a configuração é redefinida. Alguém sabe o porquê disso?
Atualizado, agora está em Recursos -> Localização -> Selecione uma opção
Resolvido na versão 6.0.0
Comentários muito úteis
Eu enfrentei o mesmo problema, minha solução é:
Depurar -> Localização ->
Quando eu marquei aqui, nem 'Nenhum' nem 'Local personalizado' foram selecionados, selecionei uma opção como você vê e funcionou.