Guida introduttiva: Creare un'app iOS con Ancoraggi nello spazio di Azure, in Swift o Objective-CQuickstart: Create an iOS app with Azure Spatial Anchors, in either Swift or Objective-C

Questa guida introduttiva illustra come creare un'app iOS usando Ancoraggi nello spazio di Azure in Swift o Objective-C.This quickstart covers how to create an iOS app using Azure Spatial Anchors in either Swift or Objective-C. Ancoraggi nello spazio di Azure è un servizio per lo sviluppo multipiattaforma che consente di creare esperienze di realtà mista usando oggetti la cui posizione persiste tra dispositivi nel corso del tempo.Azure Spatial Anchors is a cross-platform developer service that allows you to create mixed reality experiences using objects that persist their location across devices over time. Al termine, si avrà un'app iOS ARKit in grado di salvare e richiamare un ancoraggio nello spazio.When you're finished, you'll have an ARKit iOS app that can save and recall a spatial anchor.

Si apprenderà come:You'll learn how to:

  • Creare un account di Ancoraggi nello spazioCreate a Spatial Anchors account
  • Configurare l'identificatore e la chiave dell'account di Ancoraggi nello spazioConfigure the Spatial Anchors account identifier and account key
  • Distribuire ed eseguire l'app in un dispositivo iOSDeploy and run on an iOS device

Se non si ha una sottoscrizione di Azure, creare un account gratuito prima di iniziare.If you don't have an Azure subscription, create a free account before you begin.

PrerequisitiPrerequisites

Per completare questa guida introduttiva, accertarsi di disporre di quanto segue:To complete this quickstart, make sure you have:

  • Un computer macOS abilitato per lo sviluppo in cui è installata la versione più recente di Xcode e CocoaPods.A developer enabled macOS machine with the latest version of Xcode and CocoaPods installed.
  • Git installato tramite HomeBrew:Git installed via HomeBrew:
    1. Immettere il comando seguente in una singola riga del terminale: /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)".Enter the following command as a single line in the terminal: /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)".
    2. Eseguire brew install git e brew install git-lfs.Run brew install git and brew install git-lfs.
    3. Aggiornare la configurazione di Git con git lfs install (per l'utente corrente) o con git lfs install --system (per l'intero sistema).Update your git config with git lfs install (for the current user) or git lfs install --system (for the entire system).
  • Un dispositivo iOS compatibile con ARKit abilitato per lo sviluppo.A developer enabled ARKit compatible iOS device.

Creare una risorsa di Ancoraggi nello spazioCreate a Spatial Anchors resource

Accedere al portale di Azure.Go to the Azure portal.

Nel riquadro sinistro selezionare Crea una risorsa.On the left pane, select Create a resource.

Digitare Ancoraggi nello spazio nella casella di ricerca.Use the search box to search for Spatial Anchors.

Screenshot che mostra i risultati di una ricerca di ancoraggi nello spazio.

Selezionare Ancoraggi nello spazio, quindi selezionare Crea.Select Spatial Anchors, and then select Create.

Nel riquadro Account ancoraggi nello spazio procedere come segue:On the Spatial Anchors Account pane, do the following:

  • Immettere un nome di risorsa univoco usando i normali caratteri alfanumerici.Enter a unique resource name by using regular alphanumeric characters.

  • Selezionare la sottoscrizione a cui collegare la risorsa.Select the subscription that you want to attach the resource to.

  • Creare un gruppo di risorse selezionando Crea nuovo.Create a resource group by selecting Create new. Assegnare al gruppo il nome myResourceGroup e quindi selezionare OK.Name it myResourceGroup, and then select OK.

    Un gruppo di risorse è un contenitore logico in cui vengono distribuite e gestite risorse di Azure come app Web, database e account di archiviazione.A resource group is a logical container into which Azure resources, such as web apps, databases, and storage accounts, are deployed and managed. Ad esempio, si può scegliere in un secondo momento di eliminare l'intero gruppo di risorse in un unico semplice passaggio.For example, you can choose to delete the entire resource group in one simple step later.

  • Selezionare un'area in cui inserire la risorsa.Select a location (region) in which to place the resource.

  • Selezionare Nuovo per iniziare a creare la risorsa.Select New to begin creating the resource.

Screenshot del riquadro Ancoraggi nello spazio per la creazione di una risorsa.

Dopo aver creato la risorsa, il portale di Azure indica che la distribuzione è stata completata.After the resource is created, the Azure portal shows that your deployment is complete.

Screenshot che mostra la distribuzione della risorsa completata.

Selezionare Vai alla risorsa.Select Go to resource. È ora possibile visualizzare le proprietà della risorsa.You can now view the resource properties.

Copiare il valore di ID account della risorsa in un editor di testo per un uso successivo.Copy the resource's Account ID value into a text editor for later use.

Screenshot del riquadro di proprietà della risorsa.

Copiare anche il valore di Dominio account della risorsa in un editor di testo per un uso successivo.Also copy the resource's Account Domain value into a text editor for later use.

Screenshot che mostra il valore di Dominio account della risorsa.

In Impostazioni selezionare Chiave.Under Settings, select Key. Copiare i valori di Chiave primaria e Chiave dell'account in un editor di testo per un uso successivo.Copy the Primary key value, Account Key, into a text editor for later use.

Screenshot del riquadro delle chiavi per l'account.

Aprire il progetto di esempioOpen the sample project

Usare il terminale per le azioni seguenti.Use the Terminal to perform the following actions.

Per clonare il repository di esempi, eseguire questo comando:Clone the samples repository by running the following commands:

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

Installare i pod necessari usando CocoaPods:Install the necessary pods using CocoaPods:

Accedere a iOS/Swift/.Navigate to iOS/Swift/.

cd ./iOS/Swift/

Eseguire pod install --repo-update per installare CocoaPods per il progetto.Run pod install --repo-update to install the CocoaPods for the project.

Aprire quindi .xcworkspace in Xcode.Now open the .xcworkspace in Xcode.

Nota

Vedere i passaggi relativi alla risoluzione dei problemi qui se si verificano problemi di CocoaPod dopo l'aggiornamento a macOS Catalina (10.15).See the troubleshooting steps here if you're having CocoaPod issues after upgrading to macOS Catalina (10.15).

open ./SampleSwift.xcworkspace

Configurare l'identificatore e la chiave dell'accountConfigure account identifier and key

Il passaggio successivo consiste nel configurare l'app in modo da usare l'identificatore e la chiave dell'account.The next step is to configure the app to use your account identifier and account key. Questi dati sono stati copiati in un editor di testo durante la configurazione della risorsa Ancoraggi nello spazio.You copied them into a text editor when setting up the Spatial Anchors resource.

Aprire iOS/Swift/SampleSwift/ViewControllers/BaseViewController.swift.Open iOS/Swift/SampleSwift/ViewControllers/BaseViewController.swift.

Individuare il campo spatialAnchorsAccountKey e sostituire Set me con la chiave dell'account.Locate the spatialAnchorsAccountKey field and replace Set me with the account key.

Individuare il campo spatialAnchorsAccountId e sostituire Set me con l'identificatore dell'account.Locate the spatialAnchorsAccountId field and replace Set me with the account identifier.

Individuare il campo spatialAnchorsAccountDomain e sostituire Set me con il dominio dell'account.Locate the spatialAnchorsAccountDomain field and replace Set me with the account domain.

Distribuire l'app nel dispositivo iOSDeploy the app to your iOS device

Connettere il dispositivo iOS al Mac e impostare lo schema attivo sul dispositivo iOS.Connect the iOS device to the Mac and set the active scheme to your iOS device.

Selezionare il dispositivo

Selezionare Build and then run the current scheme (Compila e quindi esegui lo schema corrente).Select Build and then run the current scheme.

Distribuire ed eseguire

Nota

Se viene visualizzato un errore library not found for -lPods-SampleObjC, è probabile che sia stato aperto il file .xcodeproj invece di .xcworkspace.If you see a library not found for -lPods-SampleObjC error, you likely opened the .xcodeproj file instead of the .xcworkspace. Aprire .xcworkspace e riprovare.Open the .xcworkspace and try again.

In Xcode arrestare l'app premendo Stop (Arresta).In Xcode, stop the app by pressing Stop.

Risoluzione dei problemiTroubleshooting

Problemi di CocoaPods in macOS Catalina (10.15)CocoaPods issues on macOS Catalina (10.15)

Se di recente è stato eseguito l'aggiornamento a macOS Catalina (10.15) e CocoaPods è stato installato in precedenza, CocoaPods potrebbe interrompersi e non essere in grado di configurare correttamente i pod e i file di progetto .xcworkspace.If you recently updated to macOS Catalina (10.15) and had CocoaPods installed beforehand, CocoaPods may be in a broken state and fail to properly configure your pods and .xcworkspace project files. Per risolvere questo problema, è necessario reinstallare CocoaPods eseguendo i comandi seguenti:To resolve this issue, you'll need to reinstall CocoaPods by running the following commands:

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

Arresti anomali dell'app durante la distribuzione in iOS 10.3.1 da un profilo di provisioning personale/account per sviluppatoreApp crashes when deploying to iOS 10.3.1 from a personal provisioning profile/developer account

Se si distribuisce l'app iOS in iOS 10.3.1 da un profilo di provisioning personale/account per sviluppatore, è possibile che venga visualizzato questo errore: Library not loaded: @rpath/ADAL....If you deploy your iOS app on iOS 10.3.1 from a personal provisioning profile/developer account, you might see this error: Library not loaded: @rpath/ADAL....

Per risolvere il problema:To resolve the issue:

  • Usare un profilo di provisioning che non sia un profilo del team personale (account per sviluppatore a pagamento).Use a provisioning profile that isn't a Personal Team profile (paid developer account).
  • Distribuire l'app in un dispositivo iOS che esegue iOS 13.3 o versione precedente oppure in un dispositivo che esegue iOS 13.4 versione beta o finale.Deploy your app to an iOS device running iOS 13.3 or earlier, or to one running the iOS 13.4 beta or release version.
  • Per altre informazioni su questo problema, vedere Stack Overflow.Read more about this issue on Stack Overflow.

Pulire le risorseClean up resources

Nei passaggi precedenti sono state create risorse di Azure in un gruppo di risorse.In the preceding steps, you created Azure resources in a resource group. Se non si prevede di aver bisogno di queste risorse in futuro, è possibile eliminarle eliminando il gruppo di risorse.If you don't expect to need these resources in the future, you can delete them by deleting the resource group.

Nel menu del portale di Azure o nella pagina Home selezionare Gruppi di risorse.From the Azure portal menu or Home page, select Resource groups. Quindi, nella pagina Gruppi di risorse selezionare myResourceGroup.Then, on the Resource groups page, select myResourceGroup.

Nella pagina myResourceGroup assicurarsi che le risorse elencate siano quelle da eliminare.On the myResourceGroup page, make sure that the listed resources are the ones you want to delete.

Selezionare Elimina gruppo di risorse, digitare myResourceGroup nella casella di testo per confermare e quindi selezionare Elimina.Select Delete resource group, type myResourceGroup in the text box to confirm, and then select Delete.

Passaggi successiviNext steps

In questa guida di avvio rapido è stato creato un account di Ancoraggi nello spazio.In this quickstart, you created a Spatial Anchors account. È stata quindi configurata e distribuita un'app per salvare e richiamare gli ancoraggi nello spazio.You then configured and deployed an app to save and recall spatial anchors. Per altre informazioni su come migliorare l'app in modo da consentire la condivisione di ancoraggi nello spazio con altri dispositivi, continuare con l'esercitazione successiva.To learn more about how to improve the app so it can share spatial anchors with other devices, continue to the next tutorial.