NSURLConnection sendSynchronousRequest / sendAsynchronousRequest завершается после приложения, убитого iOS

Все подключения к серверу в моем приложении идут одинаково:

Ну, приложение отлично работает! Я могу использовать его для тысяч подключений к серверу, и он всегда работает, когда я запускаю новую загрузку приложения. Проблема начинается, когда происходит следующее:

  1. Отправьте приложение в BG.
  2. Подождите некоторое время …
  3. Приложение будет убито iOS.
  4. Открытая снова, iOS загружает все приложение с нуля. (см. экран заставки, за которым следует первый экран, а не тот, который я оставил BG).

В этом случае я получаю NSURLConnectionErrors !! Все они! Код 1003, Код 1009, Код 9 … Просто назовите его! Я получаю ошибки для всех подключений к серверу, которые запускаются прямо, когда приложение загружается. Любые другие соединения после этого отлично работают! в том числе обновление тех, которые получили не удалось!

Мне почти кажется, что я пытаюсь добраться до своего сервера слишком быстро или слишком рано, НО я проверяю и передаю тест надбавки, прежде чем говорить о соединении.

Мог бы действительно использовать некоторую помощь здесь. Заранее спасибо.

UPDATE: Как было предложено ниже, попытался использовать sendAsynchronousRequest – дал мне то же самое поведение. (ошибка: 1001 на этот раз).

Хорошо понял! AppDelegate построил tabBar, который загрузил все viewControllers, которые отправили некоторые NSURLConnections … Итак, для iOS считалось, что слишком долго ждать ответов и не удалось их всех! (Нет идеи, что первый запуск в порядке и только после того, как приложение убило его не)

Во всяком случае, я изменил все нагрузки сервера, чтобы выполнить с селектором с задержкой 0,1. Таким образом appDelegate может закончить работу, и все это ХОРОШО! 🙂

Вы должны посмотреть на использование этого метода и отправить данные асинхронно

 [NSURLConnection sendAsynchronousRequest:request queue:[NSOperationQueue mainQueue] completionHandler:^(NSURLResponse *response, NSData *data, NSError *error) 

в основном NSOpertationQueue mainQueue используется mainthread, но он позволяет вам обновлять пользовательский интерфейс также в основном потоке, например, в указателе активности.

  • Почему AVAssetExportSession создает пустой файл?
  • iOS - Как узнать, поднято / сброшено устройство (CoreMotion)
  • Как избежать повтора UITableViewCell добавить пользовательскую метку при прокрутке TableView?
  • Самостоятельные калибровки делают переход UITableView
  • Доступность iOS. Как вы устанавливаете метку доступности для названия UINavigationBar?
  • Почему есть 2 раскадровки, когда есть AutoLayout?
  • Разное расстояние между двумя точками на iOS и Android
  • Запрос запроса журнала AFNetworking для многочастных / форм-данных
  • NSURLSessionDownloadTask переключение с http на https
  • Ошибка утверждения в dequeueReusableCellWithIdentifier: forIndexPath:
  • Как вставлять элементы в UITableView при щелчке UIButton в iOS
  • Давайте будем гением компьютера.