Для сетевого подключения я использую dio
и для проверки состояния соединения с Connectivity
.
И здесь я проверяю состояние сети:
@override
Widget build(BuildContext context) {
bloc.checkConnectivity(Connectivity());
return StreamBuilder(
stream: bloc.getInitApp,
builder: (context, AsyncSnapshot<InitApp> initApp) {
if (initApp.hasData) {
return prepareMain(initApp.data);
} else {
return Center(
child: CircularProgressIndicator(),
);
}
});
}
checkConnectivity
метод:
checkConnectivity(Connectivity _connectivity) {
_connectivity.onConnectivityChanged.listen((ConnectivityResult result){
if (result == ConnectivityResult.mobile ||
result == ConnectivityResult.wifi) {
fetchInitApp();
}
});
}
Но в конечном итоге приложение работает только на устройстве Android, но на iOS (устройство / симулятор) возникает эта ошибка:
Error connecting to the service protocol: HttpException: , uri = http://127.0.0.1:1024/ws
Я пытался позвонить Api
без Connectivity
иприложение работает так же хорошо, но с ним получает данные только в Android и для iOS все еще есть проблема.
Тоже самое происходит с пакетом Dart http
.