一年多前,我构建了一个应用程序,为用户提供照片共享和视频共享。它运行没有任何问题,直到几周前我引入了一个新功能:标记视频仅在 WiFi 可用时上传的可能性:视频设置为使用 NSURLSession 和 NSURLSessionConfiguration 其中allowCellular 设置为 NO .
大多数时候它工作正常:
- 当我通过 3G/4G 连接时,我将视频设置为在 WiFi 上共享
- 一旦我连接到 WiFi 网络,视频就会毫无问题地上传
但是,有些用户在连接到 WiFi 后不会上传他们的视频。我从他们那里得到了一些日志,每当他们连接到 Wifi 时,我都会看到一个错误,出于某种原因,NSURLSession 使委托调用:
- (void)URLSession:(NSURLSession *)session task:(NSURLSessionTask *)task didCompleteWithError:(NSError *)error
出现以下错误:
Error: Error Domain=NSURLErrorDomain Code=-999 "(null)" UserInfo={NSErrorFailingURLStringKey=https://my-videos-bucket.s3.amazonaws.com/4074196678138134606/F17F7308-2810-4325-A5AF-BB8FFC093AC6.mov, NSURLErrorBackgroundTaskCancelledReasonKey=0, NSErrorFailingURLKey=https://my-videos-bucket.s3.amazonaws.com/4074196678138134606/F17F7308-2810-4325-A5AF-BB8FFC093AC6.mov}
有任何想法吗?会不会是服务器的问题?奇怪的是我无法重现它,也无法理解失败的原因
提前致谢!
泽