На самом деле НЕ делайте этого во время didFinishLaunchingWithOptions:
Причина в том, что iOS убьет любое приложение, загрузка которого занимает слишком много времени.У меня нет соответствующей документации, но iOS ожидает, что ваше приложение завершит запуск в течение определенного периода времени (я полагаю, что это займет около 3 секунд или около того), и если этот метод не будет завершен в течение этого периода времени, ваше приложение считаетсязависнуть, и iOS убьет его.
Рекомендуемый метод заключается в том, что если у вас долго выполняется код, это запустить фоновый поток с кодом на нем.
Вся идея в том, чтобы пользователь как можно быстрее получил доступный интерфейс.Обратите внимание, что отладчик отключает функцию уничтожения iOS, он активен только тогда, когда ваш код находится на устройстве, и вы не можете отключить его программно.Таким образом, ваш код будет выглядеть нормально при разработке, но потерпит неудачу, когда вы запустите его по-настоящему.
Если вам нужно отобразить что-то во время загрузки, я бы рекомендовал поместить долгосрочный код в фоновый поток и продолжитьна временный вид, который в основном является копией заставки.затем, когда ваши данные доступны, загрузите ваш интерфейс.