Более года назад я создал приложение, которое обеспечивает обмен фотографиями и видео для своих пользователей. Он работал без проблем, пока пару недель назад я не представил новую функцию: возможность пометить видео для загрузки только при наличии WiFi: для видео настроено использование NSURLSession с NSURLSessionConfiguration, где для параметра allowCellular установлено значение NO .
В большинстве случаев это работает нормально:
- Я настроил видео для отправки по WiFi, когда я подключен через 3G/4G
- Как только я подключаюсь к сети Wi-Fi, видео загружается без проблем.
Однако некоторые пользователи не загружают свои видео после подключения к WiFi. Я получил от них несколько журналов и вижу ошибку всякий раз, когда они подключаются к Wi-Fi, по какой-то причине 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}
Любые идеи? Может проблема с сервером? Странно то, что я не могу воспроизвести его и понять причину сбоя.
Заранее спасибо!
Ze