Partager via


Publier des applications .NET pour macOS

La publication d’applications .NET pour macOS nécessite plusieurs étapes supplémentaires par rapport à d’autres plateformes, en raison des exigences de sécurité d’Apple.

Prerequisites

Avant de publier votre application .NET pour macOS, vérifiez que vous disposez des éléments suivants :

  • Compte développeur Apple : nécessaire pour la signature de code et la notarisation.
  • Outils en ligne de commande Xcode : fournit codesign, altoolet d’autres utilitaires.
  • Kit de développement logiciel (SDK) .NET : vérifiez que le dernier KIT SDK .NET est installé.

Produire votre application à l’aide du Kit de développement logiciel (SDK) .NET

Utilisez l’une des méthodes décrites dans la vue d’ensemble de la publication d’applications .NET pour produire une application. Vous pouvez créer une application dépendante de l’infrastructure ou autonome.

Signer et notariser votre application

Utilisez la documentation du développeur d’Apple pour signer et notariser les fichiers binaires natifs de l’application. .NET crée un exécutable apphost natif comme point d’entrée pour votre application. Cet apphost doit être signé et, si votre application utilise des fonctionnalités spéciales, elle doit être affectée aux droits appropriés.

Droits pour les applications non publiées en tant que Native AOT

Pour les applications non publiées en tant que natif AOT, le com.apple.security.cs.allow-jit droit est requis.

Autorisations pour les applications publiées en tant qu'AOT natif

Pour les applications publiées en tant que AOT natif, aucun droit n’est requis.

Autorisations facultatives pour le débogage et les diagnostics

Les droits suivants permettent un débogage et des fonctionnalités de diagnostic supplémentaires :

  • com.apple.security.get-task-allow: Nécessaire pour la collecte de vidage de noyau avec createdump et dotnet dump.
  • com.apple.security.cs.debugger: nécessaire pour attacher un débogueur au processus.

Avertissement

L’échec de la connexion et de la notarisation de votre application peut entraîner un blocage de l’application lors de l’exécution d’une opération restreinte.