Изображения запуска Xcode и полноэкранные проблемы

Я тестирую свое приложение на физическом устройстве (используя профиль обеспечения). Устройство представляет собой iPad Air 2 с iOS версии 8.1.

Мое приложение не отображалось в полноэкранном режиме, поэтому мне удалось развернуть его в полноэкранном режиме, следуя совету добавить [email protected] в проект, как в этой теме:

Почему [UIScreen mainScreen].bounds] не возвращает полный размер экрана?

Однако, добавив его в images.xcassets, я вижу это:

введите здесь описание изображения

Вопрос 1) Почему Xcode жалуется на отсутствующее изображение запуска [email protected], когда оно явно присутствует?

Так или иначе, это заставило мое приложение запускаться в полноэкранном режиме, но изображение запуска не появлялось. Вместо этого во время загрузки приложения появлялся просто черный экран.

Вопрос 2) Почему не отображалось изображение запуска?

Я удалил все образы запуска, которые в конечном итоге были добавлены, пытаясь заставить что-то работать (потому что это iOS, и метод проб и ошибок, похоже, работает больше, чем логический процесс). Итак, на данный момент в images.xcassets нет изображений запуска. Однако мое приложение по-прежнему работает в полноэкранном режиме. Я удалил уже установленное приложение с устройства (заставив значок покачиваться и нажав «X»), выбрав Product>Clean из Xcode и снова создав. Неудачно. Приложение по-прежнему отображается в полноэкранном режиме при будущих запусках. Затем я попытался следовать ответу EliSKoren в этой теме:

Образ запуска не обновляется

Однако единственная ссылка, которую я смог найти для запуска образов, была для симуляторов, а не для физических устройств.

Вопрос 3) Очень стараюсь не потерять его ... Что происходит!? Почему мое приложение по-прежнему отображается в полноэкранном режиме, хотя я удалил изображения запуска?


person Ash    schedule 09.09.2015    source источник
comment
1. Перейдите к пути запуска образа в ваших ресурсах. 2. Скопируйте и вставьте свое изображение и дайте то же имя по умолчанию-568h@2x 3. Попробуйте очистить и собрать проект. 4. Затем, если вы не видите изображение, просто удалите приложение и установите его снова.   -  person Saheb Singh    schedule 09.09.2015


Ответы (1)


Это связано с тем, что Xcode предоставляет заполнители для разных устройств и в зависимости от того, являются ли они сетчаткой или не сетчаткой и размерами устройства. Как вы можете видеть, ваше изображение находится на заполнителе как неназначенное, поэтому xcode не может понять, для какого устройства оно предназначено, поэтому изображение не отображается. Чтобы исправить это, вот скриншот -

РЕДАКТИРОВАТЬ

Пожалуйста, выполните миграцию, чтобы получить образ запуска, назначенный ресурсам отсюда введите описание изображения здесь Нажмите «Запустить источники изображений» — «Использовать каталог ресурсов», появится всплывающее окно, а затем нажмите «Мигрировать».

введите здесь описание изображения

Как вы можете видеть в инспекторе атрибутов, вы можете выбрать, какое изображение запуска устройства вы хотите, и оно даст вам это. Проверьте, щелкнув заполнитель, какой размер или разрешение изображения требуется, а затем просто перетащите эти изображения из Finder. Надеюсь это поможет

Редактировать финал

Как оказалось, OP использовал cMake для проекта xcode, и по умолчанию в xcode уже был установлен актив JSON изображения запуска, который имел неправильную конфигурацию. Таким образом, создание другого образа запуска не переопределяло существующий JSON, поскольку для cmake загружалась более ранняя конфигурация. И по умолчанию были выбраны универсальные устройства, но ориентация устройства была полностью снята. Проверка ориентации устройства после получения чистой версии проекта и предоставление Xcode возможности выбора ресурсов Launch Image по умолчанию и заполнение изображений в этом JSON устранили проблему с OP. Дальнейшие обсуждения упоминаются по ссылке в комментариях.

person Saheb Roy    schedule 09.09.2015
comment
Спасибо, похоже, вопросы 1 и 2 решены. Проверим и ответим. - person Ash; 09.09.2015
comment
проверьте, есть ли в вашем файле запуска image.xib какое-либо изображение или нет. а также проверьте, установлено ли ваше приложение как универсальное или нет. - person Saheb Roy; 09.09.2015
comment
Приложение по-прежнему отображается в полноэкранном режиме. Происходит ли кэширование на физическом устройстве? - person Ash; 10.09.2015
comment
удалите приложение и запустите его снова - person Saheb Roy; 10.09.2015
comment
Не работало. Как было предложено в моем первоначальном вопросе, удаление приложения с физического устройства не имеет значения. Когда он создается и снова запускается из Xcode, он по-прежнему запускается в полноэкранном режиме. - person Ash; 10.09.2015
comment
Я удалил весь проект Xcode (что для меня не проблема, так как я использую Cmake для его создания). С новым проектом Xcode и новой сборкой приложение возвращается к запуску не в полноэкранном режиме. ТАК что должно быть что-то кэшированное самим Xcode. - person Ash; 10.09.2015
comment
Вам нужно удалить приложение из симулятора или устройства НЕ из проекта. - person Saheb Roy; 10.09.2015
comment
Я не работаю на симуляторе, так что это не может быть фактором (или может?). Опять же... удаление приложения с устройства ничего не изменило. Удаление всего проекта Xcode и повторный запуск, казалось, все очистили. - person Ash; 10.09.2015
comment
Давайте продолжим обсуждение в чате. - person Saheb Roy; 10.09.2015