代码之家  ›  专栏  ›  技术社区  ›  kosiara - Bartosz Kosarzycki

flatter-http.get在macos构建目标上失败:连接失败

  •  0
  • kosiara - Bartosz Kosarzycki  · 技术社区  · 5 年前

    我开始把我的flatter应用程序移植到 macos桌面 连接失败(操作系统错误:不允许操作) .

    运行单行道:

    final response = await http.get('https://jsonplaceholder.typicode.com/posts/1');
    

    Unhandled Exception: SocketException: Connection failed (OS Error: 
        Operation not permitted, errno = 1),
             address = jsonplaceholder.typicode.com, port = 443
    #0      IOClient.send (package:http/src/io_client.dart:33:23)
    

    macos构建目标来自Google的示例 here

    颤振(Channel master,v1.9.8-pre.108)

    1 回复  |  直到 5 年前
        1
  •  21
  •   kosiara - Bartosz Kosarzycki    5 年前

    您的macOS XCode项目 称为“传出连接(客户端)”。

    打开macos xcode项目-[root]/macos/Runner.xcworkspace

    在项目导航器中单击“Runner”-将显示常规设置。从选项卡栏中选择“功能”并勾选选项 “传出连接(客户端)” .

    enter image description here

        2
  •  17
  •   smorgan    4 年前

    根据我对另一个答案的评论,你应该

    您需要添加:

    <key>com.apple.security.network.client</key>
    <true/>
    

    macos/Runner/DebugProfile.entitlements macos/Runner/Release.entitlements .

    here

        3
  •  2
  •   Rahul sharma    4 年前

    Internet 中必须缺少权限 main manifest . 你只需要加上 互联网 中的权限 Manifest

    只需在清单中添加此权限 <uses-permission android:name="android.permission.INTERNET"/>

    Android文件夹中有三个可用的清单文件

    app/src/debug
    app/src/main
    app/src/profile