Freigeben über


Veröffentlichen einer Mac Catalyst-App für den Vertrieb im Mac App Store

Die gängigste Methode zur Verteilung von Mac Catalyst-Apps an Benutzer*innen ist der Mac App Store. Apps werden im Mac App Store über ein Online-Tool namens App Store Connect eingereicht. Beachten Sie, dass nur Entwickler, die Teil des Apple Developer Program sind, Zugriff auf iTunes Connect haben. Mitglieder des Apple Developer Enterprise Program haben keinen Zugriff. Alle Apps, die im App Store eingereicht werden, müssen von Apple genehmigt werden.

Die Verteilung einer Mac Catalyst-App erfordert, dass die App mit einem Bereitstellungsprofil bereitgestellt wird. Bereitstellungsprofile sind Dateien, die Informationen zur Codesignierung sowie die Identität der App und den beabsichtigten Verteilungsmechanismus enthalten.

Um eine .NET Multiplattform App UI (.NET MAUI) Mac Catalyst-App zu verteilen, müssen Sie ein spezifisches Vertriebsbereitstellungsprofil erstellen. Mit diesem Profil kann die App für die Veröffentlichung digital signiert werden, sodass sie auf Macs installiert werden kann. Ein Verteilungsbereitstellungsprofil enthält eine App-ID und ein Verteilungszertifikat. Sie müssen ein Verteilungszertifikat erstellen, um sich oder Ihre Organisation zu identifizieren, falls Sie noch keines haben. Darüber hinaus müssen Sie ein Mac-Installationszertifikat erstellen, um das Installationspaket Ihrer App für die Einreichung im Mac App Store zu signieren.

Das Verfahren zur Bereitstellung einer .NET MAUI Mac Catalyst-App für den Vertrieb über den Mac App Store ist wie folgt:

  1. Erstellen Sie eine Anforderung zur Zertifikatsignierung. Weitere Informationen finden Sie unter Erstellen einer Zertifikatsignierungsanforderung.
  2. Ein Verteilungszertifikat erstellen Weitere Informationen finden Sie unter Verteilungszertifikat erstellen.
  3. Erstellen Sie ein Installer-Zertifikat. Weitere Informationen finden Sie unter Erstellen eines Installer-Zertifikats.
  4. Erstellen einer App-ID Weitere Informationen finden Sie unter Erstellen einer App ID.
  5. Konfigurieren der App ID. Weitere Informationen finden Sie unter Konfigurieren der App-ID.
  6. Erstellen eines Bereitstellungsprofils Zusätzliche Informationen finden Sie unter Ein Bereitstellungsprofil erstellen.
  7. Laden Sie Ihr Bereitstellungsprofil herunter. Weitere Informationen finden Sie unter Herunterladen Ihres Bereitstellungsprofils in Xcode.

Sobald die Bereitstellung abgeschlossen ist, sollten Sie Ihre App für die Veröffentlichung vorbereiten und sie dann mit dem folgenden Verfahren veröffentlichen:

  1. Fügen Sie die erforderlichen Berechtigungen zu Ihrer App hinzu. Weitere Informationen finden Sie unter Berechtigungen hinzufügen.
  2. Aktualisieren Sie die Datei Info.plist der App. Weitere Informationen finden Sie unter Info.plist aktualisieren.
  3. Veröffentlichen Sie Ihre App über die Befehlszeile. Weitere Informationen finden Sie unter Veröffentlichen über die Befehlszeile.

Erstellen einer Zertifikatsignieranforderung

Bevor Sie ein Verteilungszertifikat erstellen, müssen Sie zunächst eine Zertifikatsignierungsanforderung (CSR) in Keychain Access auf einem Mac erstellen:

  1. Starten Sie auf dem Mac Keychain Access.

  2. Wählen Sie in Keychain Access das Menüelement Keychain Access > Zertifikatsassistent > Zertifikat von einer Zertifizierungsstelle anfordern… aus.

  3. Geben Sie im Dialog Zertifikatsassistent eine E-Mail-Adresse in das Feld Benutzer-E-Mail-Adresse ein.

  4. Geben Sie im Dialog Zertifikatsassistent einen Namen für den Schlüssel in das Feld Gemeinsamer Name ein.

  5. Lassen Sie im Dialogfeld Zertifikatsassistent das Feld CA-E-Mail-Adresse leer.

  6. Wählen Sie im Dialogfeld Zertifikatsassistent das Optionsfeld Auf Festplatte gespeichert aus und wählen Sie Weiter aus:

    Dialogfeld „Zertifikatsassistent“.

  7. Speichern Sie die Zertifikatssignierungsanforderung an einem bekannten Ort.

  8. Wählen Sie im Dialog Zertifikatsassistent die Schaltfläche Erledigt aus.

  9. Schließen Sie den Schlüsselbundzugriff.

Ein Verteilungszertifikat erstellen

Mit der CSR können Sie ein Verteilungszertifikat erstellen, das Ihre Identität bestätigt. Das Distributionszertifikat muss unter Verwendung der Apple ID für Ihr Apple-Entwicklerkonto erstellt werden:

  1. Melden Sie sich in einem Webbrowser bei Ihrem Apple-Entwicklerkonto an.

  2. Wählen Sie in Ihrem Apple-Entwicklerkonto die Registerkarte Zertifikate, IDs und Profile aus.

  3. Wählen Sie auf der Seite Zertifikate, Identifikatoren & Profile die Schaltfläche +, um ein neues Zertifikat zu erstellen.

  4. Wählen Sie auf der Seite Ein neues Zertifikat erstellen das Optionsfeld Apple Distribution aus, bevor Sie die Schaltfläche Weiter auswählen:

    Erstellen Sie ein Apple Distributionszertifikat.

  5. Wählen Sie auf der Seite Erstellen eines neuen Zertifikats die Option Datei wählen aus:

    Laden Sie Ihre Zertifikatsignaturanforderung für Ihr Apple-Verteilungszertifikat hoch.

  6. Wählen Sie im Dialogfeld Dateien zum Hochladen auswählen die zuvor erstellte Zertifikatsanforderungsdatei aus (eine Datei mit einer .certSigningRequest-Dateierweiterung) und wählen Sie anschließend Hochladen aus.

  7. Wählen Sie auf der Seite Erstellen eines neuen Zertifikats die Schaltfläche Weiter aus:

    Fahren Sie mit der Erstellung Ihres Verteilungszertifikats fort.

  8. Wählen Sie auf der Seite Ihr Zertifikat herunterladen die Schaltfläche Herunterladen aus:

    Laden Sie Ihr Apple-Verteilungszertifikat herunter.

    Die Zertifikatsdatei (eine Datei mit einer .cer-Erweiterung) wird an Ihren ausgewählten Speicherort heruntergeladen.

  9. Doppelklicken Sie auf Ihrem Mac auf die heruntergeladene Zertifikatsdatei, um das Zertifikat in Ihrem Schlüsselbund zu installieren. Das Zertifikat erscheint in der Kategorie Meine Zertifikate in Schlüsselbundzugang und beginnt mit Apple Distribution:

    Schlüsselbundzugriff mit Verteilungszertifikat.

    Hinweis

    Notieren Sie sich den vollständigen Zertifikatsnamen in Keychain Access. Sie wird beim Signaturen Ihrer App benötigt.

Erstellen eines Installationszertifikats

Mit der CSR können Sie ein Installationszertifikat generieren, das erforderlich ist, um das Installationspaket Ihrer App für die Einreichung im Mac App Store zu signieren. Das Installationszertifikat muss mit der Apple ID für Ihr Apple-Entwicklerkonto erstellt werden:

  1. Wählen Sie in Ihrem Apple-Entwicklerkonto die Registerkarte Zertifikate, IDs und Profile aus.

  2. Wählen Sie auf der Seite Zertifikate, Identifikatoren & Profile die Schaltfläche +, um ein neues Zertifikat zu erstellen.

  3. Wählen Sie auf der Seite Ein neues Zertifikat erstellen das Optionsfeld Mac Installer Distribution aus, bevor Sie die Schaltfläche Weiter auswählen:

    Erstellen Sie ein Mac Installer-Verteilungszertifikat.

  4. Wählen Sie auf der Seite Erstellen eines neuen Zertifikats die Option Datei wählen aus:

    Laden Sie Ihre Zertifikatsignaturanforderung für das Mac-Installationsprogrammzertifikat hoch.

  5. Wählen Sie im Dialogfeld Dateien zum Hochladen auswählen die zuvor erstellte Zertifikatsanforderungsdatei aus (eine Datei mit einer .certSigningRequest-Dateierweiterung) und wählen Sie anschließend Hochladen aus.

  6. Wählen Sie auf der Seite Erstellen eines neuen Zertifikats die Schaltfläche Weiter aus:

    Fahren Sie mit der Erstellung Ihres Installationszertifikats fort.

  7. Wählen Sie auf der Seite Ihr Zertifikat herunterladen die Schaltfläche Herunterladen aus:

    Laden Sie Ihr Mac-Installationsprogrammzertifikat herunter.

    Die Zertifikatsdatei (eine Datei mit einer .cer-Erweiterung) wird an Ihren ausgewählten Speicherort heruntergeladen.

  8. Doppelklicken Sie auf Ihrem Mac auf die heruntergeladene Zertifikatsdatei, um das Zertifikat in Ihrem Schlüsselbund zu installieren. Das Zertifikat erscheint in der Kategorie Meine Zertifikate in Keychain Access und beginnt mit 3rd Party Mac Developer Installer:

    Schlüsselbundzugriff mit Installationszertifikat.

    Hinweis

    Notieren Sie sich den vollständigen Zertifikatsnamen in Keychain Access. Sie wird beim Signaturen Ihrer App benötigt.

Erstellen eines Verteilungsprofils

Mit einem Distributionsbereitstellungsprofil kann Ihre .NET MAUI Mac Catalyst-App für die Freigabe digital signiert werden, sodass sie auf einem anderen Mac installiert werden kann. Ein Bereitstellungsprofil für die Verteilung im Mac App Store enthält eine App-ID und ein Verteilungszertifikat.

Erstellen einer App-ID

Eine App ID ist erforderlich, um die App zu identifizieren, die Sie verteilen. Eine App ID ähnelt einer Reverse-DNS-Zeichenfolge, die eine App eindeutig identifiziert und mit dem Bündelbezeichner für Ihre App identisch sein sollte. Sie können dieselbe App-ID verwenden, die Sie beim Bereitstellen Ihrer App auf einem Gerät zum Testen verwendet haben.

Es gibt zwei Arten von App ID:

  • Platzhalter Mit einer App-ID mit Platzhalter können Sie eine einzige App-ID verwenden, um mehrere Apps abzugleichen, und sie hat normalerweise die Form com.domainname.*. Eine Wildcard-App-ID kann für die Verteilung mehrerer Apps verwendet werden und sollte für Apps verwendet werden, die keine app-spezifischen Funktionen ermöglichen.
  • Explizit. Eine explizite App-ID ist eindeutig für eine einzelne App und hat normalerweise die Form com.domainname.myid. Eine explizite App-ID ermöglicht die Verteilung einer App mit einem passenden Bundle-Identifikator. Explizite App IDs werden in der Regel für Apps verwendet, die app-spezifische Funktionen wie Apple Pay oder Game Center aktivieren. Weitere Informationen finden Sie unter Funktionen.

Formular zum Erstellen einer neuen App ID

  1. Navigieren Sie in Ihrem Apple-Developerkonto zu Zertifikaten, IDs und Profilen.

  2. Wählen Sie auf der Seite Zertifikate, Bezeichner und Profile die Registerkarte Bezeichner aus.

  3. Wählen Sie auf der Seite Bezeichner die Schaltfläche + aus, um eine neue App-ID zu erstellen.

  4. Wählen Sie auf der Seite Einen neuen Bezeichner registrieren das Optionsfeld App IDs aus, bevor Sie die Schaltfläche Weiter auswählen:

    Erstellen einer App-ID

  5. Wählen Sie auf der Seite Einen neuen Bezeichner registrieren App aus, bevor Sie die Schaltfläche Weiter auswählen.

    Registrieren einer App-ID.

  6. Geben Sie auf der Seite Registrieren einer App-ID eine Beschreibung ein und wählen Sie entweder die Optionsschaltfläche Explizit oder Wildcard Bundle-ID aus. Geben Sie dann die Bundle-ID für Ihre App im umgekehrten DS-Format ein:

    Geben Sie den Bündelbezeichner für die App an.

    Wichtig

    Die eingegebene Bundle-ID muss mit dem Bundle-Bezeichner in der Datei Info.plist in Ihrem Appsprojekt übereinstimmen.

    Der Bundle-Bezeichner für eine .NET MAUI-App wird in der Projektdatei als die Eigenschaft Anwendungs-ID gespeichert. Klicken Sie in Visual Studio im Solution Explorer mit der rechten Maustaste auf Ihr .NET MAUI-App-Projekt und wählen Sie Eigenschaften aus. Navigieren Sie dann zur Registerkarte MAUI Shared > General. Das Feld Apps-ID listet den Bundle-Identifikator auf.

    Wenn der Wert des Feldes Apps-ID aktualisiert wird, wird der Wert des Bundle-Bezeichners in der Info.plist automatisch aktualisiert.

  7. Wählen Sie auf der Seite Eine App ID registrieren alle Funktionen aus, die die App verwendet. Alle Funktionen müssen sowohl auf dieser Seite als auch in der Datei Entitlements.plist in Ihrem Appsprojekt konfiguriert werden. Weitere Informationen finden Sie unter Fähigkeiten und Berechtigungen.

  8. Wählen Sie auf der Seite Registrieren einer App-ID die Schaltfläche Weiter aus.

  9. Auf der Seite Ihre App-ID bestätigen wählen Sie die Schaltfläche Registrieren aus.

Konfigurieren der App ID

Standardmäßig verwendet eine Mac Catalyst App dieselbe Bundle-ID wie eine iOS App, sodass Sie die Apps zusammen als Universalkauf im Mac App Store anbieten können. Alternativ können Sie auch eine eindeutige Bundle-ID angeben, um die App als separates Produkt anzubieten.

So konfigurieren Sie die App ID:

  1. Navigieren Sie in Ihrem Apple-Developerkonto zu Zertifikaten, IDs und Profilen.

  2. Wählen Sie auf der Seite Zertifikate, Bezeichner und Profile die Registerkarte Bezeichner aus.

  3. Wählen Sie auf der Seite Bezeichner die gerade erstellte App-ID aus.

  4. Scrollen Sie auf der Seite Ihre App-ID-Konfiguration bearbeiten bis zum Ende der Seite und aktivieren Sie das Kontrollkästchen Mac Catalyst. Wählen Sie dann die Schaltfläche Konfigurieren aus:

    Aktivieren Sie die Mac Catalyst-Funktion.

  5. Wählen Sie im Popup-Fenster Bündel-ID für Mac Catalyst konfigurieren das Optionsfeld Vorhandene Mac-App-ID verwenden aus. Wählen Sie in der Dropdown-Liste App-ID entweder die App-ID für die iOS-Partner-App von Mac Catalyst oder die App-ID aus, die Sie erstellt haben, wenn Sie die Mac Catalyst-App als separates Produkt anbieten. Wählen Sie dann die Schaltfläche Speichern aus:

    Konfigurieren Sie die Bundle-ID für Mac Catalyst.

  6. Wählen Sie auf der Seite Ihre App-ID-Konfiguration bearbeiten die Schaltfläche Speichern aus:

    Speichern Sie die Mac Catalyst-Konfiguration.

  7. Wählen Sie im Popup App-Funktionen modifizieren die Schaltfläche Bestätigen aus:

    Ändern Sie die App-Funktionen.

Erstellen eines Bereitstellungsprofils

Sobald die App-ID erstellt und konfiguriert ist, sollten Sie ein Bereitstellungsprofil für die Verteilung erstellen. Mit diesem Profil kann die App für die Veröffentlichung digital signiert werden, sodass sie auf Macs installiert werden kann.

So erstellen Sie ein Bereitstellungsprofil für die Verteilung im Mac App Store:

  1. Wählen Sie auf der Seite "Zertifikate, Bezeichner und Profile" Ihres Apple-Developerkontos die Registerkarte "Profile" aus.

  2. Auf der Registerkarte Profile klicken Sie auf die Schaltfläche +, um ein neues Profil zu erstellen.

  3. Wählen Sie auf der Seite Ein neues Bereitstellungsprofil registrieren das Optionsfeld Mac App Store aus, bevor Sie auf die Schaltfläche Weiter klicken:

    Registrieren Sie ein Bereitstellungsprofil für die App Store-Verteilung.

  4. Wählen Sie auf der Seite Bereitstellungsprofil erzeugen das Optionsfeld Mac aus. Wählen Sie dann in der Dropdown-Liste App-ID die App-ID aus, die Sie zuvor erstellt haben, bevor Sie auf die Schaltfläche Weiter klicken:

    Wählen Sie Ihre App-ID aus.

  5. Wählen Sie auf der Seite Ein Bereitstellungsprofil erstellen das Optionsfeld aus, das Ihrem Verteilungszertifikat entspricht, bevor Sie auf die Schaltfläche Weiter klicken:

    Wählen Sie Ihr Verteilungszertifikat aus.

  6. Geben Sie auf der Seite Ein Bereitstellungsprofil erstellen einen Namen für das Provisioning-Profil ein, bevor Sie auf die Schaltfläche Erstellen klicken:

    Generieren Sie das Bereitstellungsprofil.

    Hinweis

    Notieren Sie sich den Namen des Bereitstellungsprofils, da es beim Signaturen Ihrer App erforderlich ist.

  7. Klicken Sie auf der Seite Erstellen eines Bereitstellungsprofils optional auf die Schaltfläche Herunterladen, um Ihr Bereitstellungsprofil herunterzuladen.

    Hinweis

    Es ist nicht erforderlich, Ihr Bereitstellungsprofil jetzt herunterzuladen. Stattdessen werden Sie dies in Xcode tun.

Laden Sie Ihr Bereitstellungsprofil in Xcode herunter

Nachdem Sie ein Bereitstellungsprofil in Ihrem Apple-Entwicklerkonto erstellt haben, kann Xcode es herunterladen, sodass es für das Signaturen Ihrer App verfügbar ist:

  1. Starten Sie auf Ihrem Mac Xcode.

  2. Wählen Sie in Xcode das Menüelement Xcode > Einstellungen … aus.

  3. Wählen Sie im Dialog Einstellungen die Registerkarte Konten aus.

  4. Klicken Sie auf der Registerkarte Konten auf die Schaltfläche +, um Ihren Apple-Entwicklerkonto zu Xcode hinzuzufügen:

    Xcode-Konten-Dialog in den Einstellungen.

  5. Wählen Sie im Popup-Fenster Kontotyp die Option Apple ID aus und klicken Sie anschließend auf die Schaltfläche Weiter:

    Xcode wählt den Kontotyp aus, den Sie hinzufügen möchten.

  6. Geben Sie im Anmeldefenster Ihre Apple ID ein und klicken Sie auf die Schaltfläche Weiter.

  7. Geben Sie im Anmeldefenster Ihr Apple ID-Kennwort ein und klicken Sie auf die Schaltfläche Weiter:

    Xcode Apple-Kontoanmeldung.

  8. Klicken Sie auf der Registerkarte Konten auf die Schaltfläche Zertifikate verwalten…, um sicherzustellen, dass Ihr Verteilungszertifikat heruntergeladen wurde.

  9. Klicken Sie auf der Registerkarte Konten auf die Schaltfläche Manuelle Profile herunterladen, um Ihre Provisionierungsprofile herunterzuladen:

    Details zum Xcode-Apple-Entwicklerprogrammkonto.

  10. Warten Sie, bis der Download abgeschlossen ist, und schließen Sie dann Xcode.

Hinzufügen von Berechtigungen

Die App Sandbox von Apple schränkt den Zugriff auf Systemressourcen und Benutzerdaten in Mac-Apps ein, um den Schaden einzudämmen, wenn eine App kompromittiert wird. Sie muss für Mac Catalyst-Apps aktiviert werden, die über den Mac App Store vertrieben werden.

Dies kann durch Hinzufügen einer Entitlements.plist-Datei zum Ordner Platforms/MacCatalyst Ihres .NET MAUI-App-Projekts erreicht werden:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
  <dict>
    <key>com.apple.security.app-sandbox</key>
    <true/>
  </dict>
</plist>

Die App Sandbox-Berechtigung wird über den Schlüssel com.apple.security.app-sandbox vom Typ boolean definiert. Informationen zu App Sandbox finden Sie unter Schutz von Benutzerdaten mit App Sandbox auf developer.apple.com. Informationen über die App Sandbox-Berechtigung finden Sie unter App Sandbox-Berechtigung.

Wenn Ihre App ausgehende Netzwerkverbindungen öffnet, müssen Sie auch den Schlüssel com.apple.security.network.client vom Typ boolean zu Ihrer Datei Entitlements.plist hinzufügen:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
  <dict>
    <key>com.apple.security.app-sandbox</key>
    <true/>
    <key>com.apple.security.network.client</key>
    <true/>
  </dict>
</plist>

Informationen zur Berechtigung für ausgehende Netzwerkverbindungen finden Sie unter com.apple.security.network.client auf developer.apple.com.

Info.plist aktualisieren

Bevor Sie Ihre App veröffentlichen, sollten Sie die Datei Info.plist mit zusätzlichen Informationen aktualisieren, um sicherzustellen, dass die App in den Mac App Store hochgeladen werden kann, und um einen reibungslosen Mac App Store-Prüfprozess zu gewährleisten.

Angeben des Benutzeroberflächen-Idioms

Eine Mac Catalyst-App kann in der iPad- oder Mac-Benutzeroberflächensprache ausgeführt werden:

  • Das iPad-Benutzeroberflächen-Idiom weist macOS an, die Benutzeroberfläche der App so zu skalieren, dass sie der Mac-Display-Umgebung entspricht und gleichzeitig das iPad-ähnliche Aussehen beibehält.
  • Die Mac-Benutzeroberfläche skaliert die Benutzeroberfläche der App nicht an die Mac-Anzeigeumgebung. Einige Steuerelemente ändern ihre Größe und ihr Aussehen, und die Interaktion mit ihnen fühlt sich genauso an wie die Interaktion mit AppKit-Steuerelementen.

Standardmäßig verwenden .NET MAUI Mac Catalyst-Apps das iPad-Benutzeroberflächen-Idiom. Wenn dies Ihr gewünschtes Verhalten ist, stellen Sie sicher, dass die Datei Info.plist der App nur 2 als Wert des Schlüssels UIDeviceFamily angibt:

<key>UIDeviceFamily</key>
<array>
  <integer>2</integer>
</array>

Um das Idiom der Mac-Benutzeroberfläche zu übernehmen, aktualisieren Sie die Datei Info.plist der App, um 6 als Wert des Schlüssels UIDeviceFamily anzugeben:

<key>UIDeviceFamily</key>
<array>
  <integer>6</integer>
</array>

Weitere Informationen über Mac Catalyst-Benutzeroberflächen-Idiome finden Sie unter Das UI-Idiom für Ihre Mac Catalyst-App bestimmen.

Festlegen der Standardsprache und Region für die App

Setzen Sie den Schlüssel CFBundleDevelopmentRegion in der Info.plist Ihrer App auf einen string, der die native Entwicklungsregion der Lokalisierung darstellt:

<key>CFBundleDevelopmentRegion</key>
<string>en</string>

Der Wert des Schlüssels sollte ein Sprachbezeichner und optional ein Regionalbezeichner sein. Weitere Informationen finden Sie unter CFBundleDevelopmentRegion auf developer.apple.com.

Setzen Sie den Schlüssel NSHumanReadableCopyright in der Info.plist Ihrer App auf einen string, der den für Menschen lesbaren Urheberrechtshinweis für Ihre App darstellt:

<key>NSHumanReadableCopyright</key>
<string>MyMauiApp © 2023</string>

Für weitere Informationen siehe NSHumanReadableCopyright auf developer.apple.com.

Festlegen der App-Kategorie

Kategorien helfen Benutzern, Ihre App im Mac App Store zu finden. Sie können die primäre Kategorie der App in Ihrer Info.plist-Datei festlegen:

<key>LSApplicationCategoryType</key>
<string>public.app-category.utilities</string>

Für weitere Informationen siehe LSApplicationCategoryType auf developer.apple.com.

Hinweis

Die Hauptkategorie Ihrer App muss mit der Hauptkategorie übereinstimmen, die Sie in App Store Connect festgelegt haben.

Deklarieren Sie die Verwendung von Verschlüsselung in Ihrer App

Wenn Ihre App verschlüsselt ist und Sie planen, sie außerhalb der USA oder Kanadas zu vertreiben, unterliegt sie den US-Ausfuhrbestimmungen. Jedes Mal, wenn Sie eine Version Ihrer App bei App Store Connect einreichen, wird sie einer Prüfung auf Einhaltung der Verschlüsselungsexportbestimmungen unterzogen. Um zu vermeiden, dass App Store Connect Ihnen Fragen stellt, um Sie durch die Überprüfung zu führen, können Sie die erforderlichen Informationen in der Info.plist-Datei Ihrer App angeben.

Dies wird erreicht, indem der ITSAppUsesNonExemptEncryption-Schlüssel zur Info.plist Ihrer App mit einem boolean-Wert hinzugefügt wird, der angibt, ob Ihre App Verschlüsselung verwendet:

<key>ITSAppUsesNonExemptEncryption</key>
<false/>

Weitere Informationen finden Sie unter Einhaltung der Exportbestimmungen für Verschlüsselung auf developer.apple.com.

Veröffentlichen über die Befehlszeile

Um Ihre Mac Catalyst-App über die Befehlszeile auf einem Mac zu veröffentlichen, öffnen Sie ein Terminal und navigieren Sie zu dem Ordner für Ihr .NET MAUI-Appsprojekt. Führen Sie den Befehl dotnet publish mit den folgenden Parametern aus:

Parameter Wert
-f oder --framework Das Zielframework ist net8.0-maccatalyst.
-c oder --configuration Die Buildkonfiguration ist Release.
-p:MtouchLink Der Verknüpfungsmodus für das Projekt, der None, SdkOnly oder Full sein kann.
-p:CreatePackage Legen Sie die Einstellung auf true fest, damit am Ende des Builds ein Paket (.pkg) für die App erstellt wird.
-p:EnableCodeSigning Auf true setzen, damit Codesignieren aktiviert wird.
-p:EnablePackageSigning Legen Sie diese Einstellung auf true fest, sodass das erstellte Paket signiert wird.
-p:CodesignKey Der Name des Codesignaturschlüssels. Legen Sie den Namen Ihres Verteilungszertifikats fest, wie in Keychain Access angezeigt.
-p:CodesignProvision Name des Bereitstellungsprofils, das beim Signaturen verwendet werden soll
-p:CodesignEntitlements Der Pfad zur Berechtigungsdatei, die die von der App benötigten Berechtigungen angibt. Auf Platforms\MacCatalyst\Entitlements.plist festlegen.
-p:PackageSigningKey Der Signaturschlüssel des Pakets, der beim Signaturen des Pakets verwendet werden soll. Stellen Sie den Namen Ihres Installationszertifikats ein, wie er in Keychain Access angezeigt wird.

Warnung

Der Versuch, eine .NET MAUI-Lösung zu veröffentlichen, führt dazu, dass der Befehl dotnet publish versucht, jedes Projekt in der Lösung einzeln zu veröffentlichen, was zu Problemen führen kann, wenn Sie andere Projekttypen zu Ihrer Lösung hinzugefügt haben. Daher sollte der Befehl dotnet publish auf Ihr .NET MAUI-Appsprojekt beschränkt sein.

Zusätzliche Build-Parameter können auf der Kommandozeile angegeben werden, wenn sie nicht in einer <PropertyGroup> in Ihrer Projektdatei enthalten sind. In der folgenden Tabelle sind einige der üblichen Parameter aufgeführt:

Parameter Wert
-p:ApplicationTitle Der vom Benutzer sichtbare Name für die App.
-p:ApplicationId Der eindeutige Bezeichner für die App, wie etwa com.companyname.mymauiapp.
-p:ApplicationVersion Die Version des Builds, die eine Iteration der App identifiziert.
-p:ApplicationDisplayVersion Die Versionsnummer der API.

Eine vollständige Liste der Build-Eigenschaften finden Sie unter Projektdateieigenschaften.

Wichtig

Die Werte für alle diese Parameter müssen nicht in der Befehlszeile angegeben werden. Sie können auch in der Projektdatei angegeben werden. Wenn ein Parameter in der Befehlszeile und in der Projektdatei angegeben ist, hat der Befehlszeilenparameter Vorrang. Weitere Informationen über die Bereitstellung von Build-Eigenschaften in Ihrer Projektdatei finden Sie unter Build-Eigenschaften in Ihrer Projektdatei definieren.

Verwenden Sie zum Beispiel den folgenden Befehl, um ein .pkg auf einem Mac zu erstellen und zu signieren, das über den Mac App Store vertrieben werden soll:

dotnet publish -f net8.0-maccatalyst -c Release -p:MtouchLink=SdkOnly -p:CreatePackage=true -p:EnableCodeSigning=true -p:EnablePackageSigning=true -p:CodesignKey="Apple Distribution: John Smith (AY2GDE9QM7)" -p:CodesignProvision="MyMauiApp" -p:CodesignEntitlements="Platforms\MacCatalyst\Entitlements.plist" -p:PackageSigningKey="3rd Party Mac Developer Installer: John Smith (AY2GDE9QM7)"

Hinweis

In .NET 8 wird für den Befehl dotnet publish standardmäßig die Konfiguration Release verwendet. Daher kann die Buildkonfiguration von der Befehlszeile weggelassen werden.

Veröffentlichen erstellt, signiert und verpackt die App und kopiert die .pkg in den Ordner bin/Release/net8.0-maccatalyst/publish/. Wenn Sie die App nur mit einer einzigen Architektur veröffentlichen, wird sie im Ordner bin/Release/net8.0-maccatalyst/{architecture}/publish/ veröffentlicht.

Während des Signaturvorgangs müssen Sie möglicherweise Ihr Anmeldekennwort eingeben und die Ausführung von codesign und productbuild erlauben:

Erlauben Sie Codesign, Ihre App auf Ihrem Mac zu signieren.Erlauben Sie Productbuild, Ihre App auf Ihrem Mac zu signieren.

Weitere Informationen über den Befehl dotnet publish finden Sie unter dotnet publish.

Definieren von Buildeigenschaften in der Projektdatei

Eine Alternative zur Angabe von Build-Parametern auf der Befehlszeile besteht darin, sie in Ihrer Projektdatei in einem <PropertyGroup> anzugeben. In der folgenden Tabelle sind einige der üblichen Build-Eigenschaften aufgeführt:

Eigenschaft Wert
<ApplicationTitle> Der vom Benutzer sichtbare Name für die App.
<ApplicationId> Der eindeutige Bezeichner für die App, wie etwa com.companyname.mymauiapp.
<ApplicationVersion> Die Version des Builds, die eine Iteration der App identifiziert.
<ApplicationDisplayVersion> Die Versionsnummer der API.
<CodesignKey> Der Name des Codesignaturschlüssels. Legen Sie den Namen Ihres Verteilungszertifikats fest, wie in Keychain Access angezeigt.
<CodesignEntitlements> Der Pfad zur Berechtigungsdatei, die die von der App benötigten Berechtigungen angibt. Auf Platforms\MacCatalyst\Entitlements.plist festlegen.
<CodesignProvision> Name des Bereitstellungsprofils, das beim Signaturen verwendet werden soll
<CreatePackage> Legen Sie die Einstellung auf true fest, damit am Ende des Builds ein Paket (.pkg) für die App erstellt wird.
<EnableCodeSigning> Auf true setzen, damit Codesignieren aktiviert wird.
<EnablePackageSigning> Legen Sie diese Einstellung auf true fest, sodass das erstellte Paket signiert wird.
<MtouchLink> Der Verknüpfungsmodus für das Projekt, der None, SdkOnly oder Full sein kann.
<PackageSigningKey> Der Signaturschlüssel des Pakets, der beim Signaturen des Pakets verwendet werden soll. Stellen Sie den Namen Ihres Installationszertifikats ein, wie er in Keychain Access angezeigt wird.

Eine vollständige Liste der Build-Eigenschaften finden Sie unter Projektdateieigenschaften.

Wichtig

Die Werte für diese Build-Eigenschaften müssen nicht in der Projektdatei angegeben werden. Sie können auch in der Befehlszeile angegeben werden, wenn Sie die App veröffentlichen. Auf diese Weise können Sie bestimmte Werte in Ihrer Projektdatei auslassen.

Das folgende Beispiel zeigt eine typische Eigenschaftengruppe zum Erstellen und Signaturen Ihrer Mac Catalyst-App für die Mac App Store-Verteilung:

<PropertyGroup Condition="'$(Configuration)|$(TargetFramework)|$(Platform)'=='Release|net8.0-maccatalyst|AnyCPU'">
  <MtouchLink>SdkOnly</MtouchLink>
  <EnableCodeSigning>True</EnableCodeSigning>
  <EnablePackageSigning>true</EnablePackageSigning>
  <CreatePackage>true</CreatePackage>
  <CodesignKey>Apple Distribution: John Smith (AY2GDE9QM7)</CodesignKey>
  <CodesignProvision>MyMauiApp</CodesignProvision>
  <CodesignEntitlements>Platforms\MacCatalyst\Entitlements.plist</CodesignEntitlements>
  <PackageSigningKey>3rd Party Mac Developer Installer: John Smith (AY2GDE9QM7)</PackageSigningKey>
</PropertyGroup>

In diesem Beispiel <PropertyGroup> wird eine Bedingungsprüfung hinzugefügt, die verhindert, dass die Einstellungen verarbeitet werden, wenn die Bedingungsprüfung nicht bestanden wird. Bei der Konditionsprüfung werden zwei Punkte überprüft:

  1. Die Build-Konfiguration ist auf Release eingestellt.
  2. Das Zielframework wird auf etwas festgelegt, das den Text net8.0-maccatalyst enthält.
  3. Die Plattform ist auf AnyCPU festgelegt.

Wenn eine dieser Bedingungen nicht erfüllt ist, werden die Einstellungen nicht verarbeitet. Noch wichtiger ist, dass die Einstellungen <CodesignKey>, <CodesignProvision> und <PackageSigningKey> nicht gesetzt sind, wodurch die App nicht signiert werden kann.

Nach dem Hinzufügen der oben genannten Eigenschaftsgruppe kann die App über die Befehlszeile auf einem Mac veröffentlicht werden, indem Sie ein Terminal öffnen und zu dem Ordner für Ihr .NET MAUI-Appsprojekt navigieren. Führen Sie dann den folgenden Befehl aus:

dotnet build -f net8.0-maccatalyst -c Release

Hinweis

In .NET 8 wird für den Befehl dotnet publish standardmäßig die Konfiguration Release verwendet. Daher kann die Buildkonfiguration von der Befehlszeile weggelassen werden.

Veröffentlichen erstellt, signiert und verpackt die App und kopiert die .pkg in den Ordner bin/Release/net8.0-maccatalyst/publish/.

Hochladen in den Mac App Store

Sobald eine App mit einem Apple Distribution Zertifikat signiert wurde, kann sie nicht mehr lokal ausgeführt werden. Stattdessen sollte sie in App Store Connect hochgeladen werden, wo sie neu signiert wird, um eine lokale Ausführung zu ermöglichen.

Um Ihre App über den Mac App Store oder TestFlight zu vertreiben, müssen Sie einen App-Datensatz in App Store Connect erstellen. Dieser Datensatz enthält alle Informationen über die App, wie sie im App Store erscheinen wird, sowie alle Informationen, die für die Verwaltung der App während des gesamten Vertriebsprozesses erforderlich sind. Weitere Informationen finden Sie unter Erstellen eines App-Eintrags auf developer.apple.com.

Transporter kann verwendet werden, um Ihre App im Mac App Store einzureichen. Es wird auch helfen, Fehler in den App-Paketen zu erkennen, die eine erfolgreiche Übermittlung verhindern.

Siehe auch