Можно ли применить альтернативный значок к приложению iOS?

Мне нужно изменить значок приложения на основе области, возможно ли это?

Ответы

Ответ 1

Да, это возможно, так как iOS 10.3.

Сначала вам нужно определить все альтернативные значки в вашем файле Info.plist, вы не сможете их динамически импортировать.

Например, здесь мы определяем 2 альтернативных значка: "de" и "fr":

<key>CFBundleIcons</key>
 <dict>
  <key>CFBundleAlternateIcons</key>
  <dict>
   <key>de</key>
   <dict>
    <key>CFBundleIconFiles</key>
    <array>
     <string>ic_de</string>
    </array>
    <key>UIPrerenderedIcon</key>
    <false/>
   </dict>
   <key>fr</key>
   <dict>
    <key>CFBundleIconFiles</key>
    <array>
     <string>ic_fr</string>
    </array>
    <key>UIPrerenderedIcon</key>
    <false/>
   </dict>
  </dict>
  <key>CFBundlePrimaryIcon</key>
  <dict>
   <key>CFBundleIconFiles</key>
   <array>
    <string>ic_none</string>
   </array>
  </dict>
 </dict>

Затем вы можете установить имя значка на основе всего, что вам нравится (ход игры, погодные условия, премиум-пользователь и т.д.). Чтобы изменить значок, используйте:

UIApplication.shared.setAlternateIconName("de") { (error) in
    if let error = error {
        print("err: \(error)")
        // icon probably wasn't defined in plist file, handle the error
    }
}

Результат:

Gif, показывающий изменение значка в ответ на сегментированный элемент управления

Гиф из Средняя статья Жюльена Кере.

Ответ 2

Эта функция доступна в 10.3 (бета-версия)

Обсуждение Используйте этот метод, чтобы изменить значок своего приложения на его основной значок или на один из его альтернативных значков. Вы можете изменить значок, только если значение свойства supportsAlternateIcons равно true.

Вы должны объявить основные и альтернативные значки вашего приложения, используя ключ CFBundleIcons вашего файла Info.plist приложения. Сведения о настройке альтернативных значков для вашего приложения см. В описании ключа CFBundleIcons в справочном руководстве по списку свойств информации.

Взгляните на:

документация по яблоку

Ответ 3

Несколько записей в магазине приложений

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

Другие указали, что можно изменить значок приложения с iOS 10.3. Я не знал этого, очень круто! Я сохраню этот ответ здесь как альтернативу.