Недавно я завершил свой первый проект, используя новую NSURLSession, доступную на iOS 7.
Я создал приложение для изучения всего API NSURLSession, реализуя все виды задач: - Задачи данных - Задачи загрузки - Загруженные задачи
Я также реализовал фоновую загрузку с помощью фоновых сеансов. После многих часов отладки и внедрения методом проб и ошибок я, наконец, пришел к тому, что все приложения работают без каких-либо проблем — для меня это так. Я выпустил его для небольшого числа тестировщиков (‹ 5), и у некоторых из них возникла ошибка, которую я не могу воспроизвести или даже отследить.
Определенная часть моего кода — после некоторых несвязанных операций — отвечает за возобновление текущих задач загрузки, доступных в фоновом сеансе:
[[appDelegate getNSURLSessionForBackgroundTransfers] getTasksWithCompletionHandler:^(NSArray *dataTasks, NSArray *uploadTasks, NSArray *downloadTasks) {
for(NSURLSessionUploadTask *task in uploadTasks) {
[task resume];
}
Время от времени приложение вылетает со следующим исключением в моих журналах (я использую приложение для игры в хоккей):
SIGSEGV
On:
0 libdispatch.dylib 0x3ba87772 _dispatch_async_f + 10
1 CFNetwork 0x30a5b86f -[__NSCFBackgroundSessionTask _onqueue_connection_resume] + 92
2 Memoir Beta 0x00231e85 __55-[PhotoBinariesUploader runCodeEvenIfBackgroundMode:]_block_invoke_3 (PhotoBinariesUploader.m:553)
3 CFNetwork 0x30a848c5 __50-[__NSCFURLSession getTasksWithCompletionHandler:]_block_invoke246 + 14
Любые идеи ? Любые намеки на то, что это может быть?
Заранее спасибо! Зе