Flutter Http请求在iOS上未执行

6
这是我的应用程序为了登录用户而执行的第一个请求。在安卓上,每个请求都可以正常工作,但是由于某些原因,在iOS上它们似乎没有被执行。我已经在模拟器上设置了开发人员选项以允许HTTP服务。我还在真实的iPad上测试了代码,但它无法执行该请求。
在测试期间,我没有为此设置任何超时,并且一旦触发了请求,如果我让代码运行一段时间,我会得到这个日志(它可能与此无关,但由于我不知道它是什么,我也会附上它)。
[C1.1 958047F2-81ED-4A34-AEDE-A23D2CD6B49F 172.20.129.134:51780<->216.58.211.42:443]
Connected Path: satisfied (Path is satisfied), interface: en0
Duration: 240.322s, DNS @0.002s took 0.008s, TCP @0.017s took 0.014s, TLS took 0.287s
bytes in/out: 4769/1077, packets in/out: 9/10, rtt: 0.016s, retransmitted packets: 1, out-of-order packets: 0

以下是代码:

这里是代码:

Future<LoginResponse> login(String login, String password, AppLocalizations locale) async {

    final response = await http.post(_url, body: {
      "module": _moduleLogin,
      "user": login,
      "pass": password,
      "lang": locale.localeName
    });

    try{
      EventManager manager = EventManager.getInstance();
      manager.clearAllEvents();
    }catch(e){
      print(e);
    }

    if (response.statusCode == 200) {
      return LoginResponse.fromJson(jsonDecode(response.body));
    } else {
      throw Exception('Failed to connect to webservice');
    }}

目前我不知道是什么原因导致了这个问题。我正在使用最新版本的http包。

以下是我的flutter doctor输出:

[✓] Flutter (Channel beta, v0.9.4, on Mac OS X 10.14 18A391, locale es-ES)
    • Flutter version 0.9.4 at /Users/alex/Documents/Development/flutter
    • Framework revision f37c235c32 (4 months ago), 2018-09-25 17:45:40 -0400Engine revision 74625aed32
    • Dart version 2.1.0-dev.5.0.flutter-a2eb050044

[✓] Android toolchain - develop for Android devices (Android SDK 27.0.3)
    • Android SDK at /Users/alex/Library/Android/sdk
    • Android NDK location not configured (optional; useful for native profiling support)
    • Platform android-28, build-tools 27.0.3ANDROID_HOME = /Users/alex/Library/Android/sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1024-b01)
    • All Android licenses accepted.

[✓] iOS toolchain - develop for iOS devices (Xcode 10.1)
    • Xcode at /Applications/Xcode.app/Contents/DeveloperXcode 10.1, Build version 10B61
    • ios-deploy 1.9.2CocoaPods version 1.5.3

[✓] Android Studio (version 3.1)
    • Android Studio at /Applications/Android Studio.app/ContentsFlutter plugin version 26.0.1Dart plugin version 173.4700Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1024-b01)

[✓] IntelliJ IDEA Ultimate Edition (version 2018.1.1)
    • IntelliJ at /Applications/IntelliJ IDEA.app
    • Flutter plugin version 26.0.2Dart plugin version 181.4445.29

[✓] VS Code (version 1.30.2)
    • VS Code at /Applications/Visual Studio Code.app/ContentsFlutter extension version 2.21.1

[✓] Connected devices (1 available)
    • iPhone XS5FB9A137-7AB3-46B5-94BC-9562B0E5E752 • ios • iOS 12.1 (simulator)

• No issues found!

1
为什么不在Github上提交一个bug呢? - CopsOnRoad
@CopsOnRoad会做的。如果我通过这种方式找到答案,我会在这里发布它。 - FunnyStunny
@FunnyStunny,你解决了这个问题吗? - Sreegth
@Sreegth 我没有。我已经提出了一个问题,还在等待回复。我已经在dart-lang/http和flutter/flutter中打开了它。每当我得到答案或自己解决问题时,我都会更新这个问题。我现在正在处理其他事情,这就是为什么关闭它需要很长时间的原因。 - FunnyStunny
在安卓上对我也不起作用。即在调试模式下运行良好。我在Github上提出了一个问题,但没有得到回应。 - danish-khan-I
1个回答

5

即使我不知道为什么会起作用,但我找到了一个解决方案。

我使用dio包替换了http包,在两个平台上都可以正常工作。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接