Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Apple имеет несколько api UIApplication, которые позволяют приложению управлять своим значком:
-
UIApplication.SupportsAlternateIcons - Если в
true
приложении есть альтернативный набор значков. -
UIApplication.AlternateIconName — возвращает имя выбранного в данный момент альтернативного значка или
null
при использовании первичного значка. - UIApplication.SetAlternateIconName. Используйте этот метод, чтобы переключить значок приложения на указанный альтернативный значок.
-
UNUserNotificationCenter.Current.SetBadgeCount
. Задает количество значков приложения в Springboard (не рекомендуется в iOS 16+ и tvOS 16+).
Добавление альтернативных значков в проект .NET
Чтобы приложение переключилось на альтернативный значок, необходимо включить новую папку .appiconset
с коллекцией изображений значков в каталог активов проекта:
Откройте каталог ресурсов проекта (Assets.xcassets) в Finder:
Создайте копию существующей папки
AppIcon.appiconset
:Замените каждый значок в скопированной папке новым значком соответствующего размера:
Добавьте значок приложения в файл проекта с помощью свойства
AppIcon
:<PropertyGroup> <AppIcon>AppIcon</AppIcon> </PropertyGroup>
Заметка
Существующие проекты обычно указывают значок приложения с помощью ключа
XSAppIconAssets
в файлеInfo.plist
. Это все еще можно использовать, но рекомендуется переключиться на свойствоAppIcon
в файле проекта (это проще, так как его значение — это имя значка, а не путь к ресурсу).Добавьте альтернативные значки в файл проекта с помощью группы элементов
AlternativeAppIcons
:<ItemGroup> <AlternativeAppIcon Include="AlternativeAppIcons" /> </ItemGroup>
Управление значком приложения
С помощью изображений значков, включенных в проект .NET, разработчик может управлять значком приложения следующими способами.
Свойство SupportsAlternateIcons класса UIApplication позволяет разработчику узнать, поддерживает ли приложение альтернативные значки. Например:
// Can the app select a different icon?
primaryIconButton.Enabled = UIApplication.SharedApplication.SupportsAlternateIcons;
alternateIconButton.Enabled = UIApplication.SharedApplication.SupportsAlternateIcons;
Свойство ApplicationIconBadgeNumber класса UIApplication позволяет разработчику получить или задать текущее число на значке приложения в Springboard. Значение по умолчанию равно нулю (0). Например:
// Set the badge number to 1
var badgeCount = 1;
UNUserNotificationCenter.Current.SetBadgeCount (badgeCount, (error) => {
Console.WriteLine ($"Set badge count to {badgeCount}: {(error is null ? "successfully" : error.ToString ())}");
}
Заметка
UNUserNotificationCenter.SetBadgeCount
требуется авторизация от пользователя в iOS, который можно получить путем вызова UNUserNotificationCenter.Current.RequestAuthorization
перед настройкой счетчика значков.
Свойство AlternateIconName класса UIApplication позволяет разработчику получить имя выбранного альтернативного значка приложения или возвращает null
, если приложение использует основной значок. Например:
// Get the name of the currently selected alternate
// icon set
var name = UIApplication.SharedApplication.AlternateIconName;
if (name != null ) {
// Do something with the name
}
Свойство SetAlternameIconName класса UIApplication позволяет разработчику изменить значок приложения. Укажите имя значка, чтобы его выбрать, или null
, чтобы вернуться к основному значку. Например:
void UsePrimaryIcon (Foundation.NSObject sender)
{
UIApplication.SharedApplication.SetAlternateIconName (null, (error) => {
Console.WriteLine ($"Set Primary Icon: {(error is null ? "successfully" : error.ToString ())}");
});
}
void UseAlternateIcon (Foundation.NSObject sender)
{
UIApplication.SharedApplication.SetAlternateIconName ("AlternateAppIcons", (error) => {
Console.WriteLine ($"Set Alternate Icon: {(error is null ? "successfully" : error.ToString ())}");
});
}
Когда приложение запускается и пользователь выбирает альтернативный значок, отобразится предупреждение, как показано ниже:
Если пользователь переключается обратно на первичный значок, отобразится предупреждение, например следующее:
См. также
- Пример iOS
- пример tvOS