Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Apple ma kilka interfejsów API UIApplication, które umożliwiają aplikacji zarządzanie jej ikoną.
-
UIApplication.SupportsAlternateIcons — jeśli
true
aplikacja ma alternatywny zestaw ikon. -
UIApplication.AlternateIconName — zwraca nazwę aktualnie wybranej ikony alternatywnej lub
null
, jeśli używasz ikony podstawowej. - UIApplication.SetAlternateIconName — użyj tej metody, aby przełączyć ikonę aplikacji na daną ikonę alternatywną.
-
UNUserNotificationCenter.Current.SetBadgeCount
— ustawia liczbę powiadomień na ikonie aplikacji w Springboardzie (nieaktualne w systemach iOS 16+ i tvOS 16+).
Dodawanie alternatywnych ikon do projektu platformy .NET
Aby umożliwić aplikacji przełączenie się na ikonę alternatywną, nowy folder .appiconset
z kolekcją obrazów ikon musi zostać uwzględniony w wykazie zasobów projektu:
Otwórz katalog zasobów projektu (Assets.xcassets) w programie Finder:
Utwórz kopię istniejącego folderu
AppIcon.appiconset
:Zastąp każdą ikonę w skopiowanych folderach nową ikoną pasującego rozmiaru:
Dodaj ikonę aplikacji do pliku projektu przy użyciu właściwości
AppIcon
:<PropertyGroup> <AppIcon>AppIcon</AppIcon> </PropertyGroup>
Notatka
Istniejące projekty zazwyczaj określają ikonę aplikacji przy użyciu klucza
XSAppIconAssets
w plikuInfo.plist
— nadal można go użyć, ale zaleca się przełączenie do właściwościAppIcon
w pliku projektu (która jest również prostsza, ponieważ jego wartość jest nazwą ikony, a nie ścieżką do zasobu).Dodaj alternatywne ikony do pliku projektu przy użyciu grupy elementów
AlternativeAppIcons
:<ItemGroup> <AlternativeAppIcon Include="AlternativeAppIcons" /> </ItemGroup>
Zarządzanie ikoną aplikacji
Za pomocą obrazów ikon zawartych w projekcie platformy .NET deweloper może kontrolować ikonę aplikacji na następujące sposoby.
Właściwość SupportsAlternateIcons klasy UIApplication umożliwia deweloperowi sprawdzenie, czy aplikacja obsługuje ikony alternatywne. Na przykład:
// Can the app select a different icon?
primaryIconButton.Enabled = UIApplication.SharedApplication.SupportsAlternateIcons;
alternateIconButton.Enabled = UIApplication.SharedApplication.SupportsAlternateIcons;
Właściwość
// 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 ())}");
}
Uwaga
UNUserNotificationCenter.SetBadgeCount
wymaga autoryzacji od użytkownika w systemie iOS, który można uzyskać przez wywołanie UNUserNotificationCenter.Current.RequestAuthorization
przed ustawieniem liczby znaczek.
Właściwość
// Get the name of the currently selected alternate
// icon set
var name = UIApplication.SharedApplication.AlternateIconName;
if (name != null ) {
// Do something with the name
}
Właściwość SetAlternameIconName klasy UIApplication umożliwia deweloperowi zmianę ikony aplikacji. Podaj nazwę ikony, aby wybrać ikonę lub null
, aby wrócić do ikony głównej. Na przykład:
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 ())}");
});
}
Po uruchomieniu aplikacji i wybraniu przez użytkownika alternatywnej ikony zostanie wyświetlony alert podobny do następującego:
Jeśli użytkownik przełączy się z powrotem do ikony podstawowej, zostanie wyświetlony alert podobny do następującego: