Création d’applications Objective-C ou Swift pour macOS

Important

La mise hors service de Visual Studio App Center est prévue pour le 31 mars 2025. Bien que vous puissiez continuer à utiliser Visual Studio App Center jusqu’à sa mise hors service complète, il existe plusieurs alternatives recommandées vers lesquelles vous pouvez envisager la migration.

En savoir plus sur les chronologies et les alternatives de support.

Pour commencer à créer votre première application Mac, procédez comme suit :

  1. Connectez-vous à votre compte de service de dépôt (GitHub, Bitbucket, VSTS, Azure DevOps).
  2. Sélectionnez un dépôt et une branche où réside votre application.
  3. Configurez le projet ou l’espace de travail de la build, ainsi que le schéma que vous souhaitez générer.

Notes

Pour que l’application soit distribuée, la build doit être signée avec un certificat. Un profil d’approvisionnement est facultatif. En outre, le programme d’installation de build pour Mac n’est actuellement pas pris en charge.

1. Liaison de votre dépôt

Vous devez vous connecter à votre compte de service de dépôt. Une fois votre compte connecté, sélectionnez le dépôt où se trouve votre projet Mac. Pour configurer une build pour un dépôt, vous avez besoin de l’autorisation d’administrateur et d’extraction pour celui-ci.

2. Sélection d’une branche

Après avoir sélectionné un dépôt, sélectionnez la branche que vous souhaitez générer. Par défaut, toutes les branches actives sont répertoriées.

3. Configuration de votre première build

Avant votre première build, le projet Mac doit être configuré.

3.1. Projet/espace de travail et schéma

Pour une configuration de build, un projet Xcode ou un espace de travail Xcode et un schéma partagé sont requis. App Center détecte automatiquement les projets, les espaces de travail et les schémas partagés dans votre branche. Sélectionnez le projet ou l’espace de travail que vous souhaitez générer et le schéma correspondant.

Si aucun schéma n’est trouvé, vérifiez que le schéma avec lequel vous souhaitez créer est partagé et que le conteneur du schéma est le projet ou l’espace de travail que vous avez sélectionné. Vérifiez également que ces modifications sont archivées dans la branche pour laquelle vous configurez la build.

Marquer le schéma comme partagé

3.2. Version Xcode

Sélectionnez la version Xcode sur laquelle exécuter la build.

3.3. Déclencheurs de génération

Par défaut, une nouvelle build est déclenchée chaque fois qu’un développeur envoie (push) à une branche configurée. C’est ce qu’on appelle l'« intégration continue ». Si vous préférez déclencher une nouvelle build manuellement, vous pouvez modifier ce paramètre dans la configuration de build.

3.4. Incrémenter le numéro de build

Quand cette option est activée, le CFBundleVersion dans info.plist de votre application s’incrémente automatiquement pour chaque build. La modification se produit avant la génération et ne sera pas validée dans votre dépôt.

3.5. Tests

Si le schéma sélectionné a une action de test avec une cible de test sélectionnée, vous pouvez configurer les tests pour qu’ils s’exécutent dans le cadre de chaque build. App Center peut actuellement exécuter des tests unitaires XCTest. App Center ne prend pas en charge les tests de lancement pour les builds Mac.

3.6. Signature de code

Une génération réussie génère un .app fichier. Pour installer la build sur un appareil, il doit s’agir d’un certificat signé. Pour signer les builds produites à partir d’une branche, activez la signature du code dans le volet de configuration et chargez un certificat valide (.p12), ainsi que le mot de passe du certificat. Les paramètres de votre projet Xcode doivent être compatibles avec les fichiers que vous chargez. Un profil d’approvisionnement est facultatif pour la signature de code.

Actuellement, App Center prend uniquement en charge les configurations de signature suivantes :

  • Signature manuelle à l’aide de la méthode d’exportation de développement avec un certificat de développement uniquement
  • Signature manuelle à l’aide de la méthode d’exportation d’ID de développeur
  • Signature automatique à l’aide de la méthode d’exportation de développement

Vous pouvez en savoir plus sur la signature de code dans le guide de signature de code macOS d’App Center et dans le Guide officiel du développeur Apple.

3.7. CocoaPods

App Center analyse la branche sélectionnée et s’il trouve un Podfile, il effectue automatiquement une pod install étape au début de chaque build. Cela garantit que toutes les dépendances sont installées.

Si le dépôt contient déjà un dossier /Pods , App Center suppose que vous avez archivé les pods dans votre dépôt et n’exécutera pod installplus .

3.8. Distribuer à un groupe de distribution

Vous pouvez configurer chaque build signée avec succès à partir d’une branche pour qu’elle soit distribuée à un groupe de distribution créé précédemment. Vous pouvez ajouter un nouveau groupe de distribution à partir de la section Distribuer. Il existe toujours un groupe de distribution par défaut appelé « Collaborateurs » qui inclut tous les utilisateurs qui ont accès à l’application.

Une fois que vous avez enregistré la configuration, une nouvelle build est lancée automatiquement.

4. Résultats de génération

Une fois qu’une build est déclenchée, elle peut se trouver dans les états suivants :

  • en file d’attente : la build est mise en file d’attente, en attente de la gratuité des ressources.
  • build : la build exécute les tâches prédéfinies.
  • réussite : la build s’est terminée avec succès.
  • failed : la build a détecté des échecs qui l’ont empêchée de se terminer. Vous pouvez résoudre les problèmes de build en téléchargeant et en inspectant les journaux de build.
  • canceled : la build a été annulée par une action de l’utilisateur ou a expiré.

4.1. Journaux d’activité de génération

Pour une build terminée (réussie ou ayant échoué), téléchargez les journaux pour en savoir plus sur la façon dont la build s’est déroulée. App Center fournit une archive avec les fichiers suivants :

|-- 1_build.txt (this is the general build log)
|-- build (this folder contains a separate log file for each build step)
    |-- <build-step-1> (e.g. 2_Get Sources.txt)
    |-- <build-step-2> (e.g. 3_Pod install.txt)
    |--
    |-- <build-step-n> (e.g. n_Post Job Cleanup.txt)

Les journaux spécifiques à l’étape de génération (situés dans le build répertoire de l’archive) sont utiles pour résoudre les problèmes et comprendre quelle étape et pourquoi la build a échoué.

4.2. L’application (.app)

Le .app fichier est un fichier d’archive d’application Mac, qui contient l’application Mac.

  • Si la build est signée correctement, le .app fichier peut être installé sur un appareil correspondant au profil d’approvisionnement utilisé lors de la signature. Pour plus d’informations sur la signature et la distribution du code avec App Center, consultez la documentation sur la signature de code macOS d’App Center.
  • Si la build n’a pas été signée, le .app fichier peut être signé par le développeur. Par exemple, à l’aide de codesign.

4.3. Fichier de symboles (.dsym)

Les .dsym fichiers contiennent les symboles de débogage de l’application.

  • Si vous avez ajouté le Kit de développement logiciel (SDK) App Center dans votre application avec le module rapport d’incident activé, le service de création de rapports d’incidents nécessite ce .dsym fichier pour qu’une build affiche des rapports d’incident (symboliques) lisibles par l’utilisateur.
  • Si vous avez ajouté un autre SDK pour la création de rapports d’incidents dans votre application, comme le Kit de développement logiciel (SDK) HockeyApp, le service exige que le .dsym fichier affiche des rapports d’incident lisibles par l’utilisateur.

Les .dsym fichiers ne changent pas lors de la signature du code ..app Si vous décidez de signer la build ultérieurement, le .dsym généré avant la signature de code est toujours valide.

Créer des éléments internes

Pour générer votre projet, nous utilisons xcodebuild, un outil en ligne de commande qui vous permet de générer, d’interroger, d’analyser, de tester et d’archiver vos projets et espaces de travail Xcode.

Versions et exigences prises en charge

Les détails de la version de la machine de build sont mis à jour chaque fois qu’une nouvelle version de macOS est ajoutée. Nous incluons les dernières versions publiées par Apple dès que possible sur nos machines virtuelles de build.