Bereitstellen für iOS

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: Unterstützte Sprachen Zu erst solltest du hier deine unterstützen Sprachen definieren. Standardmäßig unterstützt unser Template Deutsch und Englisch, wobei Englisch die…

Image Description

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:

..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.

Achtung! Wird eine Entitlements.plist verwenden, muss bei der Bundle-Signierung ein passendes Provisioning Profil erstellt werden! Die automatische Bereitstellung funktioniert hier dann nicht mehr!

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 Xamarin.Forms iOS-Applikationen. Du benötigst dazu ein physikalisches Apple-Gerät (iPhone oder iPad) und einen MAC-Computer.

War dieser Artikel hilfreich für Sie?

Ja Nein

Verwandte Artikel