【发布时间】:2021-03-08 01:52:30
【问题描述】:
iOS 应用需要 IVR 电话才能完成验证。用户接听电话并返回应用程序继续。这之前工作得很好,但是,当用户从电话切换到应用程序时,最近开始出现网络连接丢失错误。我正在使用标准 NSURLSession 功能进行服务调用。应用程序使用 Soap 服务启动 IVR 呼叫并返回成功/失败响应。 错误日志:
[connection] nw_read_request_report [C2] 接收失败,错误“软件导致 连接中止”
任务 . HTTP 加载失败, 1807/0 字节(错误代码:-1005 [4:-4])任务 . 完成错误 [-1005] 错误域=NSURLErrorDomain 代码=-1005 “网络连接是 丢失。” UserInfo={_kCFStreamErrorCodeKey=-4, NSUnderlyingError=0x28086bd80 {错误域=kCFErrorDomainCFNetwork 代码=-1005 "(null)" UserInfo={NSErrorPeerAddressKey=
{长度= 16,容量= 16,字节= 0x100201bbc7676c180000000000000000},_kCFStreamErrorCodeKey=-4, _kCFStreamErrorDomainKey=4}}, _NSURLErrorFailingURLSessionTaskErrorKey=LocalDataTask ., _NSURLErrorRelatedURLSessionTaskErrorKey=( "LocalDataTask ." ), NSLocalizedDescription=网络连接丢失。, NSErrorFailingURLStringKey=https://www.url?wsdl, NSErrorFailingURLKey=https://www.url?wsdl, _kCFStreamErrorDomainKey=4} 网络连接丢失。
在 iOS 13 及更高版本上对此进行了测试。似乎操作系统在一段时间内断开了网络连接,并且应用无法接收到 Web 服务的响应。
【问题讨论】:
-
我有一些问题:它只发生在 3G/4G 上吗?它也发生在Wifi上吗?您的用户是否有 ESIM 并且仅将其用于网络?
-
移动数据和 wifi 的结果相同。用户未使用 ESIM。
-
好的,你能尝试在后台队列中运行并再次测试吗?
-
你的意思是应该使用NSURLSession下载任务吗?后台执行,这里下载任务会比数据任务好?
-
嗨,Nameet,我的意思是:stackoverflow.com/questions/24056205/…
标签: ios objective-c xcode background-process