Freigeben über


Mac Catalyst-Funktionen

Auf Mac Catalyst .NET Multiplatform App UI (.NET MAUI) werden Apps in einer Sandbox ausgeführt, die eine Reihe von Regeln enthält, die den Zugriff zwischen der App und den Systemressourcen oder Benutzerdaten einschränken. Apple stellt Fähigkeiten, auch bekannt als Appsdienste, zur Verfügung, um die Funktionalität zu erweitern und die Möglichkeiten von Mac Catalyst-Apps zu vergrößern. Weitere Informationen über Fähigkeiten finden Sie unter Fähigkeiten auf developer.apple.com.

Fähigkeiten werden dem Bereitstellungsprofil Ihrer App hinzugefügt und beim Codesignieren Ihrer App verwendet. Das Bereitstellungsprofil muss eine App-ID enthalten, die dem Bündelbezeichner Ihrer App entspricht, wobei die erforderlichen Funktionen aktiviert sind. Das Bereitstellungsprofil sollte in Ihrem Apple-Entwicklerkonto erstellt werden.

Die Funktionen sind eng mit dem Konzept der Berechtigungen verbunden. Beide fordern die Erweiterung des Sandkastens an, in dem Ihre App ausgeführt wird, um ihm zusätzliche Funktionen zu bieten. Berechtigungen werden in der Regel beim Entwickeln Ihrer App hinzugefügt, während funktionen in der Regel beim Codesignieren der App für die Verteilung hinzugefügt werden. Weitere Informationen zu Berechtigungen finden Sie unter Verwalten von Benutzerberechtigungen.

Hinzufügen von Funktionen in Ihrem Apple-Entwicklerkonto

Funktionen können dem Bereitstellungsprofil Ihrer App in Ihrem Apple-Entwicklerkonto hinzugefügt werden. Dies ist ein mehrstufiger Prozess, der das Erstellen eines Signaturzertifikats, einer App-ID und eines Bereitstellungsprofils erfordert.

Wenn Sie eine neue Fähigkeit zu Ihrem Bereitstellungsprofil hinzufügen, sollten Sie dieselbe Fähigkeit auch zur Entitlements.plist-Datei Ihrer App hinzufügen und sicherstellen, dass die App diese Datei verwendet. Weitere Informationen finden Sie unter Zuweisen von Berechtigungen. Es kann auch notwendig sein, in der Info.plist Datenschutzschlüssel für bestimmte Funktionen festzulegen.

Erstellen eines Signaturzertifikats.

Zum Erstellen eines Bereitstellungsprofils müssen Sie zuvor ein Signaturzertifikat erstellt haben. Der Typ des Signaturzertifikats hängt vom vorgesehenen Verteilungskanal für Ihre App ab:

Erstellen einer App-ID mit einem App-Dienst

Eine App-ID ähnelt einer Reverse-DNS-Zeichenfolge, die eine App eindeutig identifiziert und zum Identifizieren der app benötigt, die Sie verteilen. Die App-ID sollte mit dem Bündelbezeichner für Ihre App identisch sein.

Wichtig

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.

Es gibt zwei Arten von App-IDs – explizite und Wildcard. 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 Installation einer App mit einem übereinstimmenden Bündelbezeichner auf einem Gerät. Explizite App-IDs sind für Apps erforderlich, die app-spezifische Funktionen aktivieren.

Eine App-ID kann mit folgendem Befehl erstellt werden:

  1. Gehen Sie in einem Webbrowser zum Abschnitt Kennungen Ihres Apple-Entwicklerkontos und klicken Sie auf die Schaltfläche +.

  2. Wählen Sie auf der Seite Registrieren Sie einen neuen Bezeichner die Option App IDs aus, und klicken Sie auf die Schaltfläche Weiter.

  3. Wählen Sie auf der Seite Registrieren Sie einen neuen Bezeichner den Typ App aus und klicken Sie auf die Schaltfläche Weiter.

  4. Geben Sie auf der Seite Register an App ID eine Beschreibung an und setzen Sie die Bundle ID auf Explicit. Geben Sie dann eine App-ID im Format com.domainname.myid ein:

    Screenshot der Seite zur Registrierung neuer App-IDs mit ausgefüllten Pflichtfeldern

  5. Aktivieren Sie auf der Seite Registrieren Sie eine App-ID unter den Registerkarten Fähigkeiten und App-Dienste die gewünschten Funktionen:

    Screenshot der aktivierten Funktionen.

  6. Klicken Sie auf der Seite Registrieren einer App-ID auf die Schaltfläche Fortfahren.

  7. Überprüfen Sie auf der Seite Bestätigen Sie Ihre App-ID die Informationen und klicken Sie dann auf die Schaltfläche Registrieren. Wenn Ihre App ID erfolgreich registriert wurde, gelangen Sie zurück zum Abschnitt „Identifiers“ in Ihrem Apple-Entwicklerkonto.

  8. Klicken Sie auf der Seite Kennungen auf die App-ID, die Sie gerade erstellt haben.

  9. Auf der Seite Bearbeiten Sie Ihre App-ID-Konfiguration haben alle aktivierten Funktionen, die zusätzliche Einstellungen erfordern, eine Schaltfläche Konfigurieren:

    Screenshot der Bearbeitungsfunktionen.

    Klicken Sie auf eine der Schaltflächen Konfigurieren, um Ihre aktivierten Funktionen zu konfigurieren. Weitere Informationen finden Sie unter Konfigurieren von App-Funktionen auf developer.apple.com.

Erstellen eines Bereitstellungsprofils

Nachdem Sie eine App-ID erstellt haben, müssen Sie ein Bereitstellungsprofil für die App-ID erstellen. Das von Ihnen erstellte Bereitstellungsprofil hängt auch vom vorgesehenen Verteilungskanal für Ihre App ab:

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.

Definieren von Buildeigenschaften in der Projektdatei

Die Projektdatei für Ihre App sollte aktualisiert werden, um das Signaturzertifikat, das Bereitstellungsprofil und die Berechtigungsdatei zu verwenden. Dies kann durch Hinzufügen der folgenden Build-Eigenschaften zu einem <PropertyGroup> in Ihrer Projektdatei erreicht werden:

Eigenschaft Wert
<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
<EnableCodeSigning> Auf true setzen, damit Codesignieren aktiviert wird.

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'">
  <EnableCodeSigning>True</EnableCodeSigning>
  <CodesignKey>Apple Distribution: John Smith (AY2GDE9QM7)</CodesignKey>
  <CodesignProvision>MyMauiApp</CodesignProvision>
  <CodesignEntitlements>Platforms\MacCatalyst\Entitlements.plist</CodesignEntitlements>
</PropertyGroup>

Problembehandlung

In der folgenden Liste werden die häufig auftretenden Probleme beschrieben, die beim Entwickeln einer .NET MAUI Mac Catalyst-App auftreten können, die Funktionen verwendet:

  • Vergewissern Sie sich, dass die richtige App-ID erstellt und im Abschnitt Kennungen Ihres Apple-Entwicklerkontos registriert wurde.
  • Stellen Sie sicher, dass die Funktion der App-ID hinzugefügt wurde und dass die Funktion mit den richtigen Werten konfiguriert ist.
  • Vergewissern Sie sich, dass das Bereitstellungsprofil auf Ihrem Entwicklungsrechner installiert wurde und dass die Datei Info.plist der App einen Bundle-Identifikator verwendet, der mit Ihrer App-ID identisch ist.
  • Stellen Sie sicher, dass in der Datei Entitlements.plist der App die richtigen Berechtigungen aktiviert sind.
  • Stellen Sie sicher, dass alle erforderlichen Datenschutzschlüssel in Info.plist festgelegt sind.
  • Stellen Sie sicher, dass die App die Datei Entitlements.plist verbraucht.