Некоторое время назад мы решили поместить нашу логику загрузки приложения в отдельную функцию, которая вызывается после DidFinishLaunching. Мы делаем, показывая новый UIViewController, который содержит заставку по умолчанию (как описано here). Двумя причинами этого являются:Отображение iOS LaunchScreen на более длительное время
- Мы можем автоматически отображать текущий номер версии на заставке.
- Если время загрузки занимает более 10-15 секунд, приложение будет убито ОС. У нас была эта ситуация один раз во время обновления версии до тех пор, пока большая реорганизация DB/file не заняла до 15 секунд. Если приложение было бы убито ОС, данные были бы оставлены в поврежденном состоянии.
Это хорошо работает. Теперь, поскольку iOS 8 все изменилось немного, и мы должны использовать стартовый экран xib или панель рассказов. Я попытался загрузить xib в UIViewController (наш собственный заставку), но это привело к исключению NSInternalInconsistencyException - загрузило «nib», но выходная точка просмотра не была установлена. Как я узнал, стартовые экраны должны быть чистыми static, как и исходные изображения запуска.
Мне нравится концепция наличия только одного экрана запуска вместо дюжины изображений запуска. Как я буду это делать? Есть ли способ программно загрузить исходный экран запуска xib и показать его в моем собственном контроллере представлений заставки? Конечно, мне также хотелось бы программно добавить номер версии, как я это делал до сих пор.
Редактировать: Ввод приложения в режим сна в DidFinishLaunching() не является вариантом, см. Второй пункт выше.
его лучше отображать 'viewcontroller' при запуске в качестве« заставки », вы можете держать его на экране столько, сколько пожелаете. Нет другого способа, которым вы можете удерживать экран запуска в течение более длительного периода. –
Надеюсь, данный ответ вам поможет @Philipp. –
Возможно показать анимацию загрузки? –