Exécuter l’exemple d’application : iOS - Xcode (Swift ou Objective-C)

Ce guide de démarrage rapide explique comment exécuter l’exemple d’application Azure Spatial Anchors pour les appareils iOS avec Xcode (Swift ou Objective-C). Azure Spatial Anchors est un service de développement multiplateforme qui vous permet de créer des expériences de réalité mixte en utilisant des objets qui conservent leur emplacement sur les appareils. Quand vous aurez terminé, vous aurez une application iOS ARKit capable d’enregistrer et de rappeler une ancre spatiale.

Vous découvrirez comment effectuer les actions suivantes :

  • Créer un compte Spatial Anchors
  • Configurer l’identificateur et la clé du compte Spatial Anchors
  • Déployer et exécuter sur un appareil iOS

Si vous n’avez pas d’abonnement Azure, créez un compte gratuit Azure avant de commencer.

Prérequis

Pour suivre ce guide de démarrage rapide, veillez à avoir :

  • Une machine macOS prête pour le développement dotée des dernières versions de Xcode et CocoaPods.
  • Git installé via HomeBrew :
    1. Entrez la commande suivante sur une seule ligne dans le terminal : /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)".
    2. Exécutez brew install git et brew install git-lfs.
    3. Mettez à jour la configuration git avec git lfs install (pour l’utilisateur actuel) ou git lfs install --system (pour l’ensemble du système).
  • Un appareil iOS compatible ARKit prêt pour le développement.

Créer une ressource Spatial Anchors

Accédez au portail Azure.

Dans le volet de gauche, sélectionnez Créer une ressource.

Utilisez la zone de recherche pour rechercher Spatial Anchors.

Screenshot showing the results of a search for Spatial Anchors.

Sélectionnez Spatial Anchors, puis Créer.

Dans le volet Spatial Anchors Account (compte Spatial Anchors), procédez comme suit :

  • Entrez un nom de ressource unique, en utilisant des caractères alphanumériques normaux.

  • Sélectionnez l’abonnement auquel attacher la ressource.

  • Créer un groupe de ressources en sélectionnant Créer. Nommez-le myResourceGroup, puis sélectionnez OK.

    Un groupe de ressources est un conteneur logique dans lequel les ressources Azure, comme les applications web, les bases de données et les comptes de stockage, sont déployées et managées. Par exemple, vous pouvez choisir de supprimer le groupe de ressources complet ultérieurement en une seule étape.

  • Sélectionnez un emplacement (région) où placer la ressource.

  • Sélectionnez Créer pour commencer à créer la ressource.

Screenshot of the Spatial Anchors pane for creating a resource.

Une fois la ressource créée, le portail Azure indique que votre déploiement est terminé.

Screenshot showing that the resource deployment is complete.

Sélectionnez Accéder à la ressource. Vous pouvez à présent afficher les propriétés de la ressource.

Copiez la valeur ID de compte de la ressource dans un éditeur de texte en vue d’une utilisation ultérieure.

Screenshot of the resource properties pane.

Copiez également le Domaine du compte de la ressource dans un éditeur de texte en vue d’une utilisation ultérieure.

Screenshot showing the resource's account domain value.

Sous Paramètres, sélectionnez Clé d’accès. Copiez la valeur de Clé primaire, Clé de compte, dans un éditeur de texte en vue d’une utilisation ultérieure.

Screenshot of the Keys pane for the account.

Ouvrir l’exemple de projet

Dans le Terminal, exécutez les actions suivantes.

Clonez le dépôt d’exemples en exécutant les commandes suivantes :

git clone https://github.com/Azure/azure-spatial-anchors-samples.git
cd ./azure-spatial-anchors-samples

Installez les pods nécessaires à l’aide de CocoaPods :

Accédez à iOS/Swift/.

cd ./iOS/Swift/

Exécutez pod install --repo-update pour installer les CocoaPods pour le projet.

Notes

Utilisez la commande suivante si vous avez macOS Monterey (12.2.1)

Exécutez pod update pour installer les CocoaPods pour le projet.

Ouvrez maintenant .xcworkspace dans Xcode.

Notes

Si vous rencontrez des problèmes avec CocoaPod après la mise à niveau vers macOS Catalina (10.15), consultez ces étapes de dépannage.

open ./SampleSwift.xcworkspace

Configurer l’identificateur et la clé du compte

L’étape suivante configure l’application pour qu’elle utilise votre identificateur et votre clé de compte. Vous les avez copiés dans un éditeur de texte pendant la configuration de la ressource Spatial Anchors.

Ouvrez iOS/Swift/SampleSwift/ViewControllers/BaseViewController.swift.

Localisez le champ spatialAnchorsAccountKey et remplacez Set me par la clé du compte.

Localisez le champ spatialAnchorsAccountId et remplacez Set me par l’identificateur du compte.

Recherchez le champ spatialAnchorsAccountDomain et remplacez Set me par le domaine du compte.

Déployer l’application sur votre appareil iOS

Connectez l’appareil iOS au Mac et définissez le schéma actif sur votre appareil iOS.

Select the device

Sélectionnez Build and then run the current scheme.

Deploy and run

Remarque

Si l’erreur library not found for -lPods-SampleObjC s’affiche, vous avez probablement ouvert le fichier .xcodeproj à la place de .xcworkspace. Ouvrez .xcworkspace et réessayez.

Dans Xcode, arrêtez l’application en appuyant sur Stop.

Dépannage

Problèmes relatifs à CocoaPods sur macOS Catalina (10.15)

Si vous avez récemment effectué une mise à jour vers macOS Catalina (10.15) en ayant déjà installé CocoaPods, ce dernier risque de passer en état défectueux et de configurer incorrectement vos pods et fichiers de projet .xcworkspace. Pour résoudre ce problème, vous devez réinstaller CocoaPods en exécutant les commandes suivantes :

brew update
brew install cocoapods --build-from-source
brew link --overwrite cocoapods

L’application se bloque lors de son déploiement sur iOS 10.3.1 à partir d’un profil de provisionnement ou d’un compte de développeur personnel

Si vous déployez votre application iOS sur iOS 10.3.1 à partir d’un compte de développeur ou d’un profil de provisionnement personnel, le message d’erreur suivant peut s’afficher : Library not loaded: @rpath/ADAL....

Pour résoudre le problème :

  • Utilisez un profil de provisionnement qui n’est pas un profil d’équipe personnel (compte de développeur payant).
  • Déployez votre application sur un appareil iOS qui exécute iOS 13.3 (ou version antérieure), ou sur un appareil qui exécute la version bêta ou la version commerciale d’iOS 13.4.
  • Pour plus d’informations sur ce problème, consultez Stack Overflow.

Nettoyer les ressources

Au cours des étapes précédentes, vous avez créé des ressources Azure au sein d’un groupe de ressources. Si vous ne pensez pas avoir besoin de ces ressources à l’avenir, vous pouvez les supprimer en supprimant le groupe de ressources.

Dans le menu ou la page d’accueil du portail Azure, sélectionnez Groupes de ressources. Ensuite, dans la page Groupes de ressources, sélectionnez myResourceGroup.

Dans la page myResourceGroup, assurez-vous que les ressources répertoriées sont bien celles que vous souhaitez supprimer.

Sélectionnez Supprimer le groupe de ressources, tapez myResourceGroup dans la zone de texte pour confirmer, puis sélectionnez Supprimer.

Étapes suivantes

Dans ce guide de démarrage rapide, vous avez créé un compte Spatial Anchors. Vous avez ensuite configuré et déployé une application pour enregistrer et rappeler des ancres spatiales. Pour en savoir plus sur la façon d’améliorer l’application pour qu’elle puisse partager des ancres spatiales avec d’autres appareils, passez au tutoriel suivant.