Um die App unter iOS bereitzustellen bzw. zu veröffentlichen, sind folgende Schritte nötig
Info.plist
Die Info.plist
Datei enthält alle wichtigen Informationen zu deiner iOS-App, wie die BundleId
. Die Datei findest du im Projekt unter:
..\Platforms\iOS\Info.plist
Unterstützte Sprachen
Zu erst solltest du hier deine unterstützen Sprachen definieren.
<key>CFBundleLocalizations</key> <array> <string>en</string> <string>de</string> </array>
Standardmäßig unterstützt unser Template Deutsch und Englisch, wobei Englisch die Standardsprache ist. Sollte deine spätere App mehr Sprachen unterstützen, so kannst du diese hier hinzufügen.
Verwendungsbeschreibungen
Die App benötigt standardmäßig Zugriff auf gewisse Elemente, wie den Foto-Bibliothek (zum Auswahlen und / oder speichern von Daten). All diese Verwendungen müssen in der info.plist
Datei beschrieben werden, da die App sonst von Apple abgelehnt wird. Beispiele findest du folgend.
<key>NSUserTrackingUsageDescription</key> <string>This is needed to track crash and anonymous analytics data.</string> <key>NSPhotoLibraryAddUsageDescription</key> <string>This app needs access to the photo gallery for picking photos.</string> <key>NSPhotoLibraryUsageDescription</key> <string>This app needs access to photos gallery for picking photos.</string> <key>NSCameraUsageDescription</key> <string>This app needs access to the camera to take photos of the printer or scan barcodes.</string>
Entitlements.plist
Die Entitlements.plist
Datei enthält alle zusätzlichen Informationen zu deinen genutzten Fähigkeiten, welche du bei deinem App-Identifizier (https://developer.apple.com/account/resources/identifiers/list) angegeben hast. Die Entitlements.plist
Datei muss dabei genau den Fähigkeiten entsprechen, da die App sonst später nicht auf einem physikalischen Gerät installiert werden kann.
Wichtig! Aktuell ist es empfohlen, die Datei mit einem Texteditor zu bearbeiten, und nicht über Visual Studio!
Folgend eine Auflistung von Funktionen, welche für das App-Template nötig sind.
Keychain
Damit Einstellungen als „sicher“ gespeichert werden können, benötigt unser MauiSettings
Nuget Zugriff auf die Keychain
. So lange keine Einstellungen als „sicher“ gespeichert werden sollen, ist auch der Zugriff auf die Keychain
optional. Wird Firebase
genutzt, da diese Einstellungen sicher gespeichert werden, dann ist die Verwendung der Keychain
verpflichtend.
// SettingsApp.cs #region Firebase [MauiSetting(Name = nameof(Firebase_Username), DefaultValue = "", Secure = true)] public static string Firebase_Username { get; set; } [MauiSetting(Name = nameof(Firebase_Password), DefaultValue = "", Secure = true)] public static string Firebase_Password { get; set; } #endregion
Um die Keychain
zu aktivieren, kopiere folgenden Teil in deine Entitlements.plist
Datei.
<key>com.apple.developer.ubiquity-kvstore-identifier</key> <string>$(AppIdentifierPrefix)$(CFBundleIdentifier)</string> <key>keychain-access-groups</key> <array> <string>$(AppIdentifierPrefix)YOUR.BUNDLEID</string> </array>
AppGroups (optional)
Wenn deine App später auf eine geteilte Gruppe zugreifen soll, dann ist dies wie folgt in der Entitlements.plist
Datei zu konfigurieren.
<key>com.apple.security.application-groups</key> <array> <string>group.YOUR.GROUP</string> </array>
iCloud (optional)
Wenn später Einstellungen der App über die iCloud gesichert bzw. synchronisiert werden sollen, so muss dies ebenfalls angegeben werden.
<key>com.apple.developer.icloud-container-identifiers</key> <array> <string>iCloud.YOUR.BUNDLEID/string> </array>
Veröffentlichung
Um die App im AppStore zu veröffentlichen, folge bitte der offiziellen Anleitung für .NET MAUI iOS-Applikationen. Du benötigst dazu ein physikalisches Apple-Gerät (iPhone oder iPad) und einen MAC-Computer.