xcassets и настраиваемая схема URL запуска изображений

У меня есть универсальное приложение для iOS, которое использует настраиваемую схему URL для запуска из внешних приложений.

У меня также есть разные изображения запуска, один набор для стандартного запуска и другой набор для запуска схемы URL.

Приложение было разработано для iOS 7 и старше, поэтому я использую xcassets для установки образов запуска. Я установил один каталог для стандартных изображений запуска, а другой — для изображений запуска схемы URL.

Как указать, что изображения запуска схемы URL-адресов должны запускаться для этой конкретной схемы URL-адресов? я использую

<basename>-<url_scheme><scale_modifier><device_modifier>.png 

соглашение об именах, и все же оно, похоже, не работает, всегда отображается стандартное изображение запуска.

Является ли это соглашение об именах правильным способом именования изображений при использовании xcassets?


person anavarroma    schedule 13.02.2014    source источник


Ответы (1)


Итак, очевидно, что каталог ресурсов полезен только для указания стандартного изображения запуска (пользователь нажимает кнопку на главном экране).

Если вы хотите указать разные изображения запуска для пользовательских схем URL-адресов в своем приложении, вам все равно нужно придерживаться старого соглашения об именах.

Например, если я хочу указать образы запуска для пользовательской схемы URL-адресов «myscheme», мне нужно использовать следующее соглашение об именах, даже если я уже использую каталог активов (файл .xcassets) для стандартного образа запуска:

  • Default-myscheme~iphone.png --> для iPhone без дисплея Retina 3,5''
  • Default-myscheme@2x~iphone.png --> для iPhone с дисплеем Retina 3,5 дюйма
  • Default-myscheme-568h@2x~iphone.png --> для iPhone с дисплеем Retina 4 дюйма
  • Default-myscheme-Portrait~ipad.png --> для iPad без дисплея Retina в книжной ориентации
  • Default-myscheme-Portrait@2x~ipad.png --> для iPad с дисплеем Retina в портретной ориентации
  • Default-myscheme-Landscape~ipad.png --> для iPad без Retina Display в альбомной ориентации
  • Default-myscheme-Landscape@2x~ipad.png --> для iPad с дисплеем Retina в альбомной ориентации

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

person anavarroma    schedule 14.02.2014
comment
Мне не удалось заставить это работать на iOS 8. Это было предложено здесь: stackoverflow.com/questions/29656434/, что это может больше не поддерживаться в последних версиях iOS, может ли кто-нибудь подтвердить это? - person Jonathan Ellis; 10.05.2015
comment
Не удается заставить это работать ни на iPad 4 iOS7, ни на iPhone6Plus iOS9. - person bobmoff; 15.03.2016
comment
Мне не удалось заставить это работать на iPhone6 ​​iOS 9, используя Xcode 7.3.1. Тот же проект работал до iOS7. Я даже обновил пакет, включив в него [email protected] и [email protected]. Что странно, так это то, что в текущей документации Apple говорится, что это должно работать — см. раздел «Отображение пользовательского изображения запуска при открытии URL-адреса» по адресу ссылка - person LWixson; 25.08.2016