Бързо програмиране

Как да промените програмно иконата на приложението си — Кратко ръководство за iOS

4 стъпки за персонализиране на иконата на вашето приложение

Apple представи в iOS 10.3, нова функция, която дава възможност на разработчиците да предлагат персонализиране на иконата на приложението на своите потребители с предварително дефинирани допълнителни икони.

Ето 4 стъпки за добавяне на тази страхотна функция към вашето приложение. Да започваме.

Стъпка 1: Проектирайте иконите на приложението си

Проектирайте своите алтернативни икони на приложения и ги експортирайте в два размера:

  • 120px (60px @2x)
  • 180px (60px @3x)

Добавете иконите към вашия проект в нова директория Икони на приложения. Имайте предвид, че файловете с алтернативни икони трябва да са в директорията на проекта, а не в директорията на активите.

Стъпка 2: Регистрирайте новите си икони във файла Info.plist

Първо добавете нов запис CFBundleIcons (файлове с икони (iOS 5)), след което добавете друг запис CFBundleAlternateIcons.

За всяка алтернативна икона добавете нов запис във файла infos.plist под CFBundleAlternateIcons. Името на записа е името на иконата, която ще се използва по-късно във вашия проект Xcode, а стойността на низа на елемента е името на файла с иконата, който сте добавили в проекта в Стъпка 1.

След като добавите всичките си икони в Info.plist, вашите алтернативни икони са готови за използване в приложението ви.

Стъпка 3: Мениджър на икони на приложения

API на Apple за превключване на икони на приложения е доста прост и се състои от 3 var/функции:

var supportsAlternateIcons: Bool { get }
open func setAlternateIconName(_ alternateIconName: String?, completionHandler: ((Error?) -> Void)? = nil)
open var alternateIconName: String? { get }

Съгласно документацията на Apple, supportsAlternateIconsще бъде trueкогато системата ви позволи да промените иконата на съответното приложение или false в противен случай.

Методът setAlternateIconName се използва за промяна на иконата на приложението на основната икона или на една от алтернативните икони. Ако alternateIconName е nil, тогава ще се използва иконата на приложението по подразбиране.

И накрая, alternateIconName връща името на използваната в момента алтернативна икона или nil, ако се използва иконата по подразбиране.

За да обработваме лесно промените на иконите, ще създадем Диспечер на икони за взаимодействие с API на Apple. Първо, създайте списък, съдържащ всяка от вашите алтернативни икони на приложения.

Сега нека добавим името на файла на всяка от нашите икони в enum и икона за предварителен преглед, която ще се покаже в потребителския интерфейс на нашето приложение. В нашия enum classic е иконата на приложението по подразбиране. Ето защо името на файла за него ще бъде nil. За повече информация защо името на файла е нула, можете да проверите описанието на alternateIconName в документацията на Apple.

Сега, след като разполагаме с enum, нека създадем клас AppIconManger с две функции: една за извличане на текущата икона на приложението и една за нейното актуализиране.

Стъпка 4: Използвайте своя мениджър на икони на приложения във вашето приложение

Последната стъпка, за да актуализирате текущата икона на приложението, просто извикайте функцията setIcon, която сте дефинирали по-рано, и предайте новата икона, която искате да зададете като параметър.

С променливата current можете да знаете коя от алтернативните -или иконите по подразбиране - се използва в момента, така че можете да адаптирате интерфейса си съответно, ако е необходимо.

Създайте и стартирайте вашето приложение. И ето го резултата!

Както може би сте видели, когато превключвате иконата на приложението, iOS показва AlertView на потребителя, заявявайки, че иконата е променена.

Ако Алтернативната икона на приложение е добра функция за добавяне на нови възможности за персонализиране към вашето приложение, в момента тя не е достатъчно гъвкава, за да създава динамични икони като иконите за времето или часовника по подразбиране.

Освен това ограничение, във вашите приложения има много възможности за интеграция. Можете да си представите различни начини да предложите допълнителни икони на вашите потребители, като предоставите някои ексклузивни икони на вашите Premium потребители например или като отключите икони след цел, за конкретен празник, през период от годината и т.н.

Обобщение

  1. Създайте вашите файлове с икони в необходимите размери.
  2. Добавете ги във вашия проект и ги регистрирайте в Info.plist.
  3. Капсулирайте API на Apple с мениджър на икони на приложения.
  4. Използвайте вашия мениджър на икони на приложения, за да актуализирате иконата на приложението от потребителския интерфейс на вашето приложение.

Може да харесате и тези статии: