首页 > 解决方案 > iOS 中是否有 INTERNET 权限?

问题描述

我对 iOS 设备上的颤振 dio 包有一个奇怪的问题。我编写了一个向 url 发送 GET 请求的应用程序。一切都在 Android 上完美运行,但看起来请求在 iOS 上没有通过。什么都没有发生,没有错误,什么都没有。我在 android 上也遇到了同样的问题,但我发现我忘记在清单文件中添加 INTERNET 权限。我猜iOS中也会发生同样的情况。

iOS 中是否有任何我需要添加 info.plist 的 INTERNET 权限?

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);
    }
  }

标签: iosflutterdartdio

解决方案


好吧,在我朋友的帮助下,我发现这与互联网请求无关。显然ConnectivtyPackage Info插件在 iOS 上不起作用并返回 NULL。

多么可惜我的希望被扑灭了


推荐阅读