Использование NSOperationQueue для выполнения инициализации приложения iOS - PullRequest
3 голосов
/ 28 января 2012

Можно ли использовать NSOperationQueue addOperationWithBlock для задержки кода инициализации, чтобы приложение не было уничтожено сторожевым таймером iOS?

Как мы знаем, iOS убивает приложение, если оно слишком много времени проводит в приложении: didFinishLaunchingWithOptions илив приложении DidBecomeActive.

Но у меня много дел для инициализации.В настоящее время я делаю кучу синхронных HTTP-запросов (пусть это будет синхронно :)), которые могут занять непредсказуемую продолжительность времени.

Не могли бы вы предложить более подходящее решение этой проблемы?

Спасибо!

РЕДАКТИРОВАТЬ: Все, синхронизированные HTTP-запросы не являются предметом вопроса.У меня есть много сторонних встроенных SDK.Я должен инициализировать их все, но я понятия не имею, что они делают во время инициализации.Я просто пытаюсь свести к минимуму риск быть убитым iOS.

1 Ответ

2 голосов
/ 30 января 2012

Выполните ваши веб-запросы асинхронно и, если необходимо, покажите пользовательский интерфейс загрузки во время их выполнения.Вы должны никогда запускать синхронные веб-запросы в application:didFinishLaunchingWithOptions:, сторожевой таймер существует по причине.

...