You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Dio在Flutter Mac桌面应用无法发起HTTP请求,报错SocketException

Mac桌面端Dio无法发起HTTP请求的解决方案

这不是Dio不兼容桌面平台的问题,报错信息里的errno = 1(操作不被允许)是Mac应用的网络权限未授权导致的,以下是具体解决步骤:

  • 添加网络权限配置
    在Mac应用的Info.plist文件中插入以下配置:

    <key>NSAppTransportSecurity</key>
    <dict>
        <key>NSAllowsArbitraryLoads</key>
        <true/>
    </dict>
    <key>NSNetworkUsageDescription</key>
    <string>需要网络权限连接服务器获取数据</string>
    

    若服务器使用标准HTTPS(如报错中的443端口),也可以更精准地配置允许特定域名访问,直接设置NSAllowsArbitraryLoads为true可快速验证问题。

  • 检查系统网络权限
    打开Mac「系统设置」→「隐私与安全性」→「网络」,确认你的应用已被勾选允许网络访问。若列表中无该应用,重启应用后再次检查。

  • 清理缓存并重构应用
    执行以下命令清理Flutter缓存并重新构建Mac版本:

    flutter clean
    flutter build macos
    

Dio本身完全支持Mac桌面平台,这类问题基本都是Mac权限配置或系统限制导致的,和框架兼容性无关。

内容的提问来源于stack exchange,提问作者Onalo Joseph

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.19 17:50:25