iOS 是否有 INTERNET 权限?
Is there an INTERNET permission in iOS?
我对 iOS 设备上的 flutter 的 dio 包有一个奇怪的问题。
我写了一个应用程序,它向 url 发送 GET 请求。在 Android 上一切正常,但看起来请求在 iOS 上没有通过。
什么都没有发生 没有错误 什么都没有。我在 android 上也遇到了同样的问题,但我发现我忘记将 INTERNET 权限添加到我的清单文件中。我猜 iOS.
中也会出现同样的情况
iOS 中是否有任何我需要添加的 INTERNET 权限 info.plist?
void _checkVersionAndPreferences() async {
SharedPreferences prefs = await SharedPreferences.getInstance();
String prefsRes = prefs.getString('access_token') ?? '';
String buildNumber = _packageInfo.buildNumber ?? '1';
Dio dio = Dio();
_cancelToken = CancelToken();
Future.delayed(Duration(seconds: 10), () {
if (_getRequestSuccess == false) {
_cancelToken.cancel();
_checkVersionAndPreferences();
_showSnackBar(
content: 'تلاش مجدد برای برقراری ارتباط',
duration: Duration(seconds: 3),
leading: Icon(Icons.refresh, color: Colors.black));
}
});
Response response = await dio.get(
'https://snapmelk.com/api/v1/panel/checkVersion/' + buildNumber,
cancelToken: _cancelToken);
try {
Map respJson = jsonDecode(response.data);
setState(() {
_getRequestSuccess = true;
});
if (respJson['error']) {
_showSnackBar(
content:
(respJson['errorMsg'] != null && respJson['errorMsg'] != '')
? respJson['errorMsg']
: 'خطا در اتصال دریافت اطلاعات آخرین نسخه',
leading: Icon(Icons.warning),
backgroundColor: Colors.red,
textColor: Colors.white);
} else {
if (respJson['NewUpdate']) {
_checkDialogAnswer(respJson, prefsRes);
} else {
_checkPrefs(prefsRes);
}
}
} catch (e) {
_showSnackBar(
content: 'خطا در اتصال با سرور. لطفا در زمانی دیگر مراجعه کنید',
leading: Icon(Icons.warning),
backgroundColor: Colors.red,
textColor: Colors.white);
}
}
好吧,在我朋友的帮助下,我发现它与互联网请求无关。
显然 Connectivty 和 Package Info 插件在 iOS 上不起作用并返回 NULL。
多么遗憾让我的希望落空了
我对 iOS 设备上的 flutter 的 dio 包有一个奇怪的问题。 我写了一个应用程序,它向 url 发送 GET 请求。在 Android 上一切正常,但看起来请求在 iOS 上没有通过。 什么都没有发生 没有错误 什么都没有。我在 android 上也遇到了同样的问题,但我发现我忘记将 INTERNET 权限添加到我的清单文件中。我猜 iOS.
中也会出现同样的情况iOS 中是否有任何我需要添加的 INTERNET 权限 info.plist?
void _checkVersionAndPreferences() async {
SharedPreferences prefs = await SharedPreferences.getInstance();
String prefsRes = prefs.getString('access_token') ?? '';
String buildNumber = _packageInfo.buildNumber ?? '1';
Dio dio = Dio();
_cancelToken = CancelToken();
Future.delayed(Duration(seconds: 10), () {
if (_getRequestSuccess == false) {
_cancelToken.cancel();
_checkVersionAndPreferences();
_showSnackBar(
content: 'تلاش مجدد برای برقراری ارتباط',
duration: Duration(seconds: 3),
leading: Icon(Icons.refresh, color: Colors.black));
}
});
Response response = await dio.get(
'https://snapmelk.com/api/v1/panel/checkVersion/' + buildNumber,
cancelToken: _cancelToken);
try {
Map respJson = jsonDecode(response.data);
setState(() {
_getRequestSuccess = true;
});
if (respJson['error']) {
_showSnackBar(
content:
(respJson['errorMsg'] != null && respJson['errorMsg'] != '')
? respJson['errorMsg']
: 'خطا در اتصال دریافت اطلاعات آخرین نسخه',
leading: Icon(Icons.warning),
backgroundColor: Colors.red,
textColor: Colors.white);
} else {
if (respJson['NewUpdate']) {
_checkDialogAnswer(respJson, prefsRes);
} else {
_checkPrefs(prefsRes);
}
}
} catch (e) {
_showSnackBar(
content: 'خطا در اتصال با سرور. لطفا در زمانی دیگر مراجعه کنید',
leading: Icon(Icons.warning),
backgroundColor: Colors.red,
textColor: Colors.white);
}
}
好吧,在我朋友的帮助下,我发现它与互联网请求无关。 显然 Connectivty 和 Package Info 插件在 iOS 上不起作用并返回 NULL。
多么遗憾让我的希望落空了