Я написал приложение Flutter, которое подключается к веб-серверу, работающему на отдельном компьютере, используя пакет dart http. На моем локальном компьютере (Ma c) я добавил имя хоста 'www.xyz.com' в / etc / hosts и все отлично работает при использовании симулятора IOS. Я хотел бы протестировать приложение на реальном устройстве (iPhone SE), но не хочу делать джейлбрейк устройства. Поскольку невозможно изменить файл hosts на телефоне без джейлбрейка, я установил Weblock, который позволяет настроить правила перенаправления. Я могу запустить приложение на своем телефоне, однако при отправке запроса на веб-сервер на отдельной машине (в моей локальной сети) я получаю следующую ошибку:
SocketException: Failed host lookup: 'www.xyz.com' (OS Error: nodename nor servname provided, or not known errno = 8)
Из-за пределов приложения я могу получить доступ к веб-серверу через 'www.xyz.com' в моем браузере.
Подводя итог:
- Приложение работает в IOS симуляторе на машине A и подключается к веб-серверу на машине B -> отлично работает
- Приложение работает на реальных устройство и подключение к веб-серверу на машине B -> ошибка
- Подключение к веб-серверу на машине B через браузер на телефоне -> работает нормально
Вывод flutter doctor -v
[✓] Flutter (Channel stable, v1.12.13, on Mac OS X 10.15.4 19E287, locale en-DE)
• Flutter version 1.12.13 at /Users/Jonas/Documents/Programming/flutter
• Framework revision cf37c2cd07 (5 months ago), 2019-11-25 12:04:30 -0800
• Engine revision b6b54fd606
• Dart version 2.7.0
[✓] Android toolchain - develop for Android devices (Android SDK version 29.0.3)
• Android SDK at /Users/Jonas/Library/Android/sdk
• Android NDK location not configured (optional; useful for native profiling support)
• Platform android-R, build-tools 29.0.3
• Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
• Java version OpenJDK Runtime Environment (build 1.8.0_212-release-1586-b4-5784211)
• All Android licenses accepted.
[✓] Xcode - develop for iOS and macOS (Xcode 11.4.1)
• Xcode at /Applications/Xcode.app/Contents/Developer
• Xcode 11.4.1, Build version 11E503a
• CocoaPods version 1.9.1
[✓] Android Studio (version 3.6)
• Android Studio at /Applications/Android Studio.app/Contents
• Flutter plugin version 44.0.2
• Dart plugin version 192.7761
• Java version OpenJDK Runtime Environment (build 1.8.0_212-release-1586-b4-5784211)
[✓] IntelliJ IDEA Ultimate Edition (version 2019.3.4)
• IntelliJ at /Applications/IntelliJ IDEA.app
• Flutter plugin version 45.0.2
• Dart plugin version 193.6911.31
[!] IntelliJ IDEA Community Edition (version 2019.1.2)
• IntelliJ at /Applications/IntelliJ IDEA CE.app
✗ Flutter plugin not installed; this adds Flutter specific functionality.
✗ Dart plugin not installed; this adds Dart specific functionality.
• For information about installing plugins, see
https://flutter.dev/intellij-setup/#installing-the-plugins
[✓] Connected device (1 available)
• Jonass iPhone • 5ea0e7db176aeb6f278f88f410fb9d0fd4256658 • ios • iOS 13.4.1
! Doctor found issues in 1 category.
Спасибо!