Alternative App-Symbole in Xamarin.iOS
In diesem Artikel wird die Verwendung alternativer App-Symbole in Xamarin.iOS behandelt.
Apple hat iOS 10.3 mehrere Verbesserungen hinzugefügt, mit denen eine App ihr Symbol verwalten kann:
ApplicationIconBadgeNumber
– Ruft das Signal des App-Symbols im Springboard ab oder legt es fest.SupportsAlternateIcons
– Wenntrue
die App über einen alternativen Satz von Symbolen verfügt.AlternateIconName
- Gibt den Namen des aktuell ausgewählten alternativen Symbols zurück odernull
wenn das primäre Symbol verwendet wird.SetAlternameIconName
– Verwenden Sie diese Methode, um das Symbol der App auf das angegebene alternative Symbol zu wechseln.
Hinzufügen alternativer Symbole zu einem Xamarin.iOS-Projekt
Damit eine App zu einem alternativen Symbol wechseln kann, muss eine Sammlung von Symbolbildern im Xamarin.iOS-App-Projekt enthalten sein. Diese Bilder können dem Projekt nicht mithilfe der typischen Assets.xcassets
Methode hinzugefügt werden, sie müssen dem Ordner "Ressourcen " direkt hinzugefügt werden.
Gehen Sie folgendermaßen vor:
Wählen Sie die erforderlichen Symbolbilder in einem Ordner aus, wählen Sie alle aus, und ziehen Sie sie in den Ordner "Ressourcen" in der Projektmappen-Explorer:
Wenn Sie dazu aufgefordert werden, wählen Sie "Kopieren" aus, verwenden Sie dieselbe Aktion für alle ausgewählten Dateien , und klicken Sie auf die Schaltfläche "OK ":
Der Ordner "Ressourcen " sollte wie folgt aussehen, wenn er abgeschlossen ist:
Ändern der Info.plist-Datei
Nachdem die erforderlichen Bilder dem Ordner "Resources" hinzugefügt wurden, muss der Schlüssel "CFBundleAlternateIcons" der Datei "Info.plist" des Projekts hinzugefügt werden. Dieser Schlüssel definiert den Namen des neuen Symbols und die Bilder, die es verfassen.
Gehen Sie folgendermaßen vor:
- Doppelklicken Sie auf die info.plist-Datei im Projektmappen-Explorer, um sie zu öffnen und zu bearbeiten.
- Wechseln Sie zur Ansicht Quelle.
- Fügen Sie einen Schlüssel für Bündelsymbole hinzu, und lassen Sie den Typ auf "Wörterbuch" festgelegt.
- Fügen Sie einen
CFBundleAlternateIcons
Schlüssel hinzu, und legen Sie den Typ auf "Wörterbuch" fest. - Fügen Sie einen
AppIcon2
Schlüssel hinzu, und legen Sie den Typ auf "Wörterbuch" fest. Dies ist der Name des neuen alternativen App-Symbolsatzes. - Hinzufügen eines
CFBundleIconFiles
Schlüssels und Festlegen des Typs auf Array - Fügen Sie dem
CFBundleIconFiles
Array eine neue Zeichenfolge für jede Symboldatei hinzu, die die Erweiterung und die@2x
Suffixe@3x
, usw. (Beispiel100_icon
) verlässt. Wiederholen Sie diesen Schritt für jede Datei, aus der sich der alternative Symbolsatz ergibt. - Fügen Sie dem Wörterbuch einen
UIPrerenderedIcon
Schlüssel hinzu, legen Sie "Typ" auf "Boolean" und den Wert auf "Nein" fest.AppIcon2
- Speichern Sie die Änderungen in der Datei.
Die resultierende Info.plist-Datei sollte wie folgt aussehen, wenn sie abgeschlossen ist:
Oder so, wenn sie in einem Text-Editor geöffnet wird:
<key>CFBundleIcons</key>
<dict>
<key>CFBundleAlternateIcons</key>
<dict>
<key>AppIcon2</key>
<dict>
<key>CFBundleIconFiles</key>
<array>
<string>100_icon</string>
<string>114_icon</string>
<string>120_icon</string>
<string>144_icon</string>
<string>152_icon</string>
<string>167_icon</string>
<string>180_icon</string>
<string>29_icon</string>
<string>40_icon</string>
<string>50_icon</string>
<string>512_icon</string>
<string>57_icon</string>
<string>58_icon</string>
<string>72_icon</string>
<string>76_icon</string>
<string>80_icon</string>
<string>87_icon</string>
</array>
<key>UIPrerenderedIcon</key>
<false/>
</dict>
</dict>
</dict>
Verwalten des App-Symbols
Mit den Symbolbildern, die im Xamarin.iOS-Projekt enthalten sind und die Info.plist-Datei ordnungsgemäß konfiguriert ist, kann der Entwickler eines der vielen neuen Features verwenden, die iOS 10.3 hinzugefügt wurden, um das Symbol der App zu steuern.
Mit SupportsAlternateIcons
der Eigenschaft der UIApplication
Klasse kann der Entwickler sehen, ob eine App alternative Symbole unterstützt. Zum Beispiel:
// Can the app select a different icon?
PrimaryIconButton.Enabled = UIApplication.SharedApplication.SupportsAlternateIcons;
AlternateIconButton.Enabled = UIApplication.SharedApplication.SupportsAlternateIcons;
Mit ApplicationIconBadgeNumber
der Eigenschaft der UIApplication
Klasse kann der Entwickler die aktuelle Signalnummer des App-Symbols im Springboard abrufen oder festlegen. Der Standardwert ist 0 (null). Zum Beispiel:
// Set the badge number to 1
UIApplication.SharedApplication.ApplicationIconBadgeNumber = 1;
Mit AlternateIconName
der Eigenschaft der UIApplication
Klasse kann der Entwickler den Namen des aktuell ausgewählten alternativen App-Symbols abrufen oder zurückgeben null
, wenn die App das primäre Symbol verwendet. Zum Beispiel:
// Get the name of the currently selected alternate
// icon set
var name = UIApplication.SharedApplication.AlternateIconName;
if (name != null ) {
// Do something with the name
}
Mit SetAlternameIconName
der Eigenschaft der UIApplication
Klasse kann der Entwickler das App-Symbol ändern. Übergeben Sie den Namen des Symbols, um es auszuwählen oder null
zum primären Symbol zurückzukehren. Zum Beispiel:
partial void UsePrimaryIcon (Foundation.NSObject sender)
{
UIApplication.SharedApplication.SetAlternateIconName (null, (err) => {
Console.WriteLine ("Set Primary Icon: {0}", err);
});
}
partial void UseAlternateIcon (Foundation.NSObject sender)
{
UIApplication.SharedApplication.SetAlternateIconName ("AppIcon2", (err) => {
Console.WriteLine ("Set Alternate Icon: {0}", err);
});
}
Wenn die App ausgeführt wird und der Benutzer ein alternatives Symbol auswählt, wird eine Benachrichtigung wie die folgende angezeigt:
Wenn der Benutzer wieder zum primären Symbol wechselt, wird eine Benachrichtigung wie die folgende angezeigt:
Zusammenfassung
In diesem Artikel werden alternative App-Symbole zu einem Xamarin.iOS-Projekt hinzugefügt und in der App verwendet.