iOS 10.3 - Как программно изменить значок приложения

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

Я хочу динамически менять значок приложения, как я могу программно изменить значок приложения.

Заранее спасибо.

1 ответ

Да, iOS 10.3 наконец-то дает разработчикам возможность программно менять значок своего приложения.

Можно изменить appIcon с iOS 10.3. Для этого вам нужно установить supportsAlternateIcon в Yes в info.plist,

Основные и дополнительные значки должны быть добавлены в CFBundleIcons ключ вашего приложения Info.plist файл.

//Info.plist
<key>CFBundleIcons</key>
<dict>
    <key>CFBundleAlternateIcons</key>
    <dict>
        <key>Icon1</key>
        <dict>
            <key>CFBundleIconFiles</key>
            <array>
                <string>alternater1</string>
            </array>
            <key>UIPrerenderedIcon</key>
            <false/>
        </dict>
        <key>Icon2</key>
        <dict>
            <key>CFBundleIconFiles</key>
            <array>
                <string>alternater2</string>
            </array>
        </dict>
    </dict>
</dict>

Чтобы изменить значок приложения, необходимо вызвать следующий метод UIApplication:

Цель C:

[[UIApplication sharedApplication] setAlternateIconName:@"alternater2" completionHandler:^(NSError * _Nullable error) {
        NSLog(@"Error...");
}];

Свифт 3:

if UIApplication.shared.supportsAlternateIcons{
        UIApplication.shared.setAlternateIconName("alternater2", completionHandler: { (error) in
            print(error ?? "")
        })
}

Для более подробного урока смотрите:
Документ Apple: setAlternateIconName(_: завершение Handler:)
Как динамически изменить значок приложения с помощью setAlternateIconName()

Другие вопросы по тегам