NSURLErrorDomain 代码=-1009“互联网连接似乎已离线

问题描述 投票:0回答:1

当我尝试请求本地 IP 端点时,有时会遇到问题。就我而言,我连接到 WiFi 热点,然后请求此 API 端点。

http://192.168.1.1:8080/appliance/info

错误日志如下:

Connection 40: received failure notification
Connection 40: failed to connect 1:50, reason -1
Connection 40: encountered error(1:50)
Task <5419BE8A-533C-48A8-A5C6-3911C0D9481C>.<2> HTTP load failed, 0/0 bytes (error code: -1009 [1:50])
Task <5419BE8A-533C-48A8-A5C6-3911C0D9481C>.<2> finished with error [-1009] Error Domain=NSURLErrorDomain Code=-1009 "The internet connection appears to be offline." UserInfo={_kCFStreamErrorCodeKey=50, NSUnderlyingError=0x122825fe0 {Error Domain=kCFErrorDomainCFNetwork Code=-1009 "(null)" UserInfo={_NSURLErrorNWPathKey=unsatisfied (Local network prohibited), interface: en0[802.11], ipv4, uses wifi, _kCFStreamErrorCodeKey=50, _kCFStreamErrorDomainKey=1}}, _NSURLErrorFailingURLSessionTaskErrorKey=LocalDataTask <5419BE8A-533C-48A8-A5C6-3911C0D9481C>.<2>, _NSURLErrorRelatedURLSessionTaskErrorKey=(
    "LocalDataTask <5419BE8A-533C-48A8-A5C6-3911C0D9481C>.<2>"
), NSLocalizedDescription=The internet connection appears to be offline., NSErrorFailingURLStringKey=http://192.168.1.1:8080/appliance/info, NSErrorFailingURLKey=http://192.168.1.1:8080/appliance/info, _kCFStreamErrorDomainKey=1}
2024-04-30 13:44:27: 🔴 (95) Provider.didReceive() - GET:/appliance/info - URLSessionTask failed with error: The internet connection appears to be offline. - internalServerError - 500

我已经检查过,如果我在 Safari 或 Chrome 浏览器中请求此端点,它会为我提供预期的数据。它也适用于我的新演示 iOS 应用程序。但是,我的主应用程序总是失败。我正在与您分享我的

App Transport Security
的 info.plist 文件配置。不幸的是,该安全配置并没有解决我的问题。下面提供了 info.plist。 Info Plist screenshot

我还分享了我手机上的网络信息。 Network info enter image description here 感谢任何形式的帮助或建议。

ios swift networking localhost
1个回答
0
投票

这似乎是苹果的一个错误。

对于那些面临同样问题的人:我找到了这个问题背后的原因,但没有正确的解决方案。当我第一次请求

Local Network Usage
使用权限时,如果我拒绝它,我总是会收到此 500 - 内部服务器错误。但下次,我进入设置并手动启用权限,它仍然是相同的 500 - 内部服务器错误。即使我卸载了该应用程序,它仍然会发生。

Solution
:遇到这种情况请重启手机。我已经在 iPhone 13、iPhone XS 和 iPhone 15 Pro 上测试了此行为,我们的测试人员也在其他设备上测试了此行为。

Note: I am still looking for proper solution which can be done instead of restarting the phone.
© www.soinside.com 2019 - 2024. All rights reserved.