Inicio rápido: Creación de una aplicación de Unity para iOS con Azure Spatial AnchorsQuickstart: Create a Unity iOS app with Azure Spatial Anchors

En este inicio rápido se describe cómo crear una aplicación de Unity para iOS con Azure Spatial Anchors.This quickstart covers how to create a Unity iOS app using Azure Spatial Anchors. Azure Spatial Anchors es un servicio multiplataforma para desarrolladores que le permite crear experiencias de realidad mixta mediante objetos cuya ubicación persiste en todos los dispositivos a lo largo del tiempo.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. Cuando haya terminado, tendrá una aplicación iOS de ARKit compilada con Unity que puede guardar y recuperar un delimitador espacial.When you're finished, you'll have an ARKit iOS app built with Unity that can save and recall a spatial anchor.

Aprenderá a:You'll learn how to:

  • Crear una cuenta de Spatial AnchorsCreate a Spatial Anchors account
  • Preparar la configuración de compilación de UnityPrepare Unity build settings
  • Configurar la clave y el identificador de la cuenta de Spatial AnchorsConfigure the Spatial Anchors account identifier and account key
  • Exportación del proyecto de XcodeExport the Xcode project
  • Implementarlo y ejecutarlo en un dispositivo iOSDeploy and run on an iOS device

Si no tiene una suscripción a Azure, cree una cuenta gratuita antes de empezar.If you don't have an Azure subscription, create a free account before you begin.

PrerrequisitosPrerequisites

Para completar esta guía de inicio rápido, asegúrese de que dispone de lo siguiente:To complete this quickstart, make sure you have:

  • Una máquina macOS con Unity 2019.1 o 2019.2, y que tenga instaladas las versiones más recientes de Xcode y CocoaPods.A macOS machine with Unity 2019.1 or 2019.2, the latest version of Xcode, and CocoaPods installed.
  • GIT instalado mediante HomeBrew.Git installed via HomeBrew. Escriba el siguiente comando en una sola línea de Terminal: /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)".Enter the following command into a single line of the Terminal: /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)". A continuación, ejecute brew install git y brew install git-lfs.Then, run brew install git and brew install git-lfs.
  • Un dispositivo iOS compatible con ARKit habilitado para el desarrollo.A developer enabled ARKit compatible iOS device.

Creación de un recurso de Spatial AnchorsCreate a Spatial Anchors resource

Vaya a Azure Portal.Go to the Azure portal.

En el panel de navegación izquierdo de Azure Portal, seleccione Crear un recurso.In the left navigation pane in the Azure portal, select Create a resource.

Use el cuadro de búsqueda para buscar Spatial Anchors.Use the search box to search for Spatial Anchors.

Búsqueda de Spatial Anchors

Seleccione Spatial Anchors.Select Spatial Anchors. En el cuadro de diálogo, seleccione Crear.In the dialog box, select Create.

En el cuadro de diálogo Cuenta de Spatial Anchors:In the Spatial Anchors Account dialog box:

  • Escriba un nombre de recurso único con caracteres alfanuméricos normales.Enter a unique resource name, using regular alphanumeric characters.

  • Seleccione la suscripción a la que desea asociar el recurso.Select the subscription that you want to attach the resource to.

  • Cree un grupo de recursos, para lo que debe seleccionar Crear nuevo.Create a resource group by selecting Create new. Asígnele el nombre myResourceGroup y seleccione Aceptar.Name it myResourceGroup and select OK. Un grupo de recursos es un contenedor lógico en el que se implementan y administran recursos de Azure como aplicaciones web, bases de datos y cuentas de almacenamiento.A resource group is a logical container into which Azure resources like web apps, databases, and storage accounts are deployed and managed. Por ejemplo, más adelante puede elegir eliminar todo el grupo de recursos en un solo paso.For example, you can choose to delete the entire resource group in one simple step later.

  • Seleccione la ubicación (región) en la que desea colocar el recurso.Select a location (region) in which to place the resource.

  • Seleccione New (Nuevo) para empezar a crear el recurso.Select New to begin creating the resource.

    Creación de un recurso

Una vez creado el recurso, Azure Portal mostrará que se completó la implementación.After the resource is created, Azure Portal will show that your deployment is complete. Haga clic en Ir al recurso.Click Go to resource.

Implementación completada

A continuación, puede ver las propiedades del recurso.Then, you can view the resource properties. Copie el valor de Id. de cuenta en un editor de texto, ya que lo necesitará más adelante.Copy the resource's Account ID value into a text editor because you'll need it later.

Propiedades del recurso

En Configuración, seleccione Clave.Under Settings, select Key. Copie el valor de Clave principal en un editor de texto.Copy the Primary key value into a text editor. Este valor es Account Key.This value is the Account Key. Lo necesitará más adelante.You'll need it later.

Clave de cuenta

Descarga y apertura del proyecto de Unity de ejemploDownload and open the Unity sample project

Ejecute el siguiente comando para clonar el repositorio de ejemplos:Clone the samples repository by running the following command:

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

En Unity, abra el proyecto en la carpeta Unity.In Unity, open the project in the Unity folder. Unity podría preguntarle sobre una versión distinta de Unity entre el proyecto y la que tiene instalada en la máquina.Unity might prompt you about a different Unity version between the project and the one you've installed on your machine. Esta advertencia es correcta, siempre que su versión del Editor de Unity sea más nueva que con la que se creó el proyecto.This warning is okay, as long as your version of Unity Editor is newer than the one the project was created with. En ese caso, simplemente haga clic en Continuar.In that case, just click Continue. Si la versión del Editor de Unity es anterior a la que necesita el proyecto, haga clic en Salir y actualice el Editor de Unity.If your Unity Editor version is older than the one the project needs, click Quit, and upgrade your Unity Editor.

Ventana de Unity

Seleccione File > Build Settings (Archivo > Configuración de compilación) para abrir Build Settings (Configuración de compilación).Open Build Settings by selecting File > Build Settings.

En la sección Platform (Plataforma), seleccione iOS.In the Platform section, select iOS.

Seleccione Switch Platform (Cambiar plataforma) para cambiar la plataforma a iOS.Select Switch Platform to change the platform to iOS. Unity puede solicitarle que instale los componentes de compatibilidad con iOS si no están presentes.Unity might prompt you to install iOS support components if they're missing.

Ventana Build Settings (Configuración de compilación) de Unity

Cierre la ventana Build Settings (Configuración de compilación).Close the Build Settings window.

Configuración del identificador y la clave de la cuentaConfigure account identifier and key

En el panel Project (Proyecto), vaya a Assets/AzureSpatialAnchors.Examples/Scenes y abra el archivo de escena AzureSpatialAnchorsBasicDemo.unity.In the Project pane, navigate to Assets/AzureSpatialAnchors.Examples/Scenes and open the AzureSpatialAnchorsBasicDemo.unity scene file.

El paso siguiente es configurar la aplicación para usar el identificador de cuenta y la clave de cuenta.The next step is to configure the app to use your account identifier and account key. Los copió en un editor cuando configuró el recurso de Spatial Anchors.You copied them into a text editor when setting up the Spatial Anchors resource.

En el panel del proyecto, vaya a Assets\AzureSpatialAnchors.SDK\Resources.In the Project pane, navigate to Assets\AzureSpatialAnchors.SDK\Resources. Seleccione SpatialAnchorConfig.Select SpatialAnchorConfig. A continuación, en el panel Inspector, escriba Account Key como valor de Spatial Anchors Account Key y Account ID como valor de Spatial Anchors Account Id.Then, in the Inspector pane, enter the Account Key as the value for Spatial Anchors Account Key and the Account ID as the value for Spatial Anchors Account Id.

Para guardar la escena, seleccione File -> Save (Archivo > Guardar).Save the scene by selecting File -> Save.

Exportación del proyecto de XcodeExport the Xcode project

Seleccione File > Build Settings (Archivo > Configuración de compilación) para abrir Build Settings (Configuración de compilación).Open Build Settings by selecting File > Build Settings.

En Scenes In Build (Escenas en compilación), asegúrese de que haya una marca de verificación junto a cada escena.Under Scenes In Build, ensure all the scenes have a check mark next to them.

Seleccione Build (Compilar).Select Build. En el cuadro de diálogo que aparece, seleccione la carpeta a la que va a exportar el proyecto Xcode.In the dialog box that opens, select a folder to export the Xcode project to.

Cuando se complete la exportación, aparecerá una carpeta que contiene el proyecto Xcode exportado.When the export is complete, a folder that contains the exported Xcode project will appear.

Nota

Si aparece una ventana en la que se le pregunta si desea reemplazar o anexar, es aconsejable que seleccione Append (Anexar), porque es más rápido.If a window asking you if you want to replace or append appears, we recommend that you select Append because it's faster. Solo sería necesario seleccionar Reemplazar si va a cambiar los recursos de la escena.You should only need to select Replace if you're changing assets in your scene. (Por ejemplo, si va a agregar, quitar, o cambiar las relaciones de elementos primarios y secundarios, o si va a agregar, quitar o cambiar las propiedades.) Si solo va a realizar cambios en el código fuente, Anexar debería ser suficiente.(For example, if you're adding, removing, or changing parent/child relationships, or if you're adding, removing, or changing properties.) If you're only making source code changes, Append should be enough.

Conversión del proyecto de Xcode a xcworkspace con referencias de Azure Spatial AnchorsConvert the Xcode project to xcworkspace containing Azure Spatial Anchors references

En la carpeta del proyecto Xcode exportado, ejecute este comando en el Terminal para instalar las instancias de CocoaPods necesarias para el proyecto:In the exported Xcode project folder, run this command in the Terminal to install the necessary CocoaPods for the project:

pod install --repo-update

Ya puede abrir Unity-iPhone.xcworkspace para abrir el proyecto en Xcode:Now you can open Unity-iPhone.xcworkspace to open the project in Xcode:

open ./Unity-iPhone.xcworkspace

Nota

Consulte los pasos de solución de problemas aquí si tiene problemas con CocoaPod después de actualizar a macOS Catalina (10.15).See the troubleshooting steps here if you're having CocoaPod issues after upgrading to macOS Catalina (10.15).

Seleccione el nodo raíz Unity-iPhone para ver la configuración del proyecto y, después, seleccione la pestaña General.Select the root Unity-iPhone node to view the project settings, and then select the General tab.

En Firma, asegúrese de que Automatically manage signing (Administrar automáticamente la firma) está habilitado.Under Signing, make sure Automatically manage signing is enabled. Si no lo está, habilítelo y seleccione Enable Automatic (Habilitar automático) en el cuadro de diálogo que aparece para restablecer la configuración de compilación.If it's not, enable it, and then select Enable Automatic in the dialog box that appears to reset the build settings.

En Deployment Info (Información de implementación), asegúrese de que Deployment Target (Destino de la implementación) esté establecido en 11.0.Under Deployment Info, make sure the Deployment Target is set to 11.0.

Implementación de la aplicación en el dispositivo iOSDeploy the app to your iOS device

Conecte el dispositivo iOS al equipo Mac y establezca el esquema activo en su dispositivo iOS.Connect the iOS device to the Mac and set the active scheme to your iOS device.

Selección del dispositivo

Seleccione Build and then run the current scheme (Compilar y luego ejecutar el esquema actual).Select Build and then run the current scheme.

Implementación y ejecución

Nota

Si ve un error library not found for -lPods-Unity-iPhone, es probable que haya abierto el archivo .xcodeproj, en lugar de .xcworkspace.If you see a library not found for -lPods-Unity-iPhone error, you probably opened the .xcodeproj file instead of the .xcworkspace file.

Siga las instrucciones de la aplicación para colocar y recuperar un delimitador.Follow the instructions in the app to place and recall an anchor.

Cuando termine, presione Stop (Detener) en Xcode para detener la aplicación.When finished, stop the app by pressing Stop in Xcode.

Solución de problemasTroubleshooting

Problemas de representaciónRendering issues

Cuando se ejecuta la aplicación, si no ve la cámara como fondo (en cambio ve, por ejemplo, una textura negra, azul o de otro tipo), es probable que deba volver a importar los recursos en Unity.When running the app, if you don't see the camera as the background (for instance you instead see a blank, blue or other textures) then you likely need to re-import assets in Unity. Detenga la aplicación.Stop the app. En el menú superior de Unity, elija Assets -> Re-import all (Recursos -> Volver a importar todo).From the top menu in Unity, choose Assets -> Re-import all. Luego, vuelva a ejecutar la aplicación.Then, run the app again.

Problemas con CocoaPods en macOS Catalina (10.15)CocoaPods issues on macOS Catalina (10.15)

Si ha actualizado recientemente a macOS Catalina (10.15) y tenía CocoaPods instalado con antelación, puede que CocoaPods esté en un estado interrumpido y no pueda configurar correctamente los pods y los archivos de proyecto de .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. Para resolver este problema, debe volver a instalar CocoaPods ejecutando los siguientes comandos: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

Unity 2019.3Unity 2019.3

Debido a cambios importantes, Unity 2019.3 no se admite actualmente.Due to breaking changes, Unity 2019.3 is not currently supported. Use Unity 2019.1 o 2019.2.Please use Unity 2019.1 or 2019.2.

Limpieza de recursosClean up resources

En los pasos anteriores, creó recursos de Azure en un grupo de recursos.In the preceding steps, you created Azure resources in a resource group. Si no cree que vaya a necesitar estos recursos en el futuro, puede eliminarlos mediante la eliminación del grupo de recursos.If you don't expect to need these resources in the future, you can delete them by deleting the resource group.

En el menú de Azure Portal o en la página de inicio, seleccione Grupos de recursos y, en la página Grupos de recursos, seleccione myResourceGroup.From the Azure portal menu or Home page, select Resource groups, and on the Resource groups page, select myResourceGroup.

En la página myResourceGroup, asegúrese de que los recursos enumerados sean los que desea eliminar.On the myResourceGroup page, make sure that the listed resources are the ones you want to delete.

Seleccione Eliminar, escriba myResourceGroup en el cuadro de texto y seleccione Eliminar.Select Delete, type myResourceGroup in the text box, and then select Delete.

Pasos siguientesNext steps

En este inicio rápido, ha creado una cuenta de Spatial Anchors.In this quickstart, you created a Spatial Anchors account. Después, ha configurado e implementado una aplicación para guardar y recuperar los anclajes espaciales.You then configured and deployed an app to save and recall spatial anchors. Para más información acerca de cómo mejorar la aplicación para que pueda compartir anclajes espaciales con otros dispositivos, diríjase al siguiente tutorial.To learn more about how to improve the app so it can share spatial anchors with other devices, continue to the next tutorial.