你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

运行示例应用:iOS - Unity (C#)

本快速入门介绍如何使用 Unity (C#) 为 iOS 设备运行 Azure 空间定位点示例应用。 Azure 空间定位点是一种跨平台开发人员服务。通过该服务,可以使用能够随时间推移跨设备保存自己位置的对象创建混合的现实体验。 完成后,将获得一个使用 Unity生成的 ARKit iOS 应用,该应用可以保存和重新调用空间定位点。

将了解如何执行以下操作:

  • 创建空间定位点帐户
  • 准备 Unity 生成设置
  • 配置空间定位点帐户标识符和帐户密钥
  • 导出 XCode 项目
  • 在 iOS 设备上部署和运行

如果没有 Azure 订阅,请在开始之前创建一个 Azure 免费帐户

先决条件

若要完成本快速入门,请确保具备以下项:

  • 支持开发人员的 ARKit 兼容 iOS 设备。
  • 安装了最新版本的 Xcode 的 macOS 计算机。
  • Unity 安装。 有关受支持的版本和所需的功能,请访问 Unity 项目设置页面
  • 通过 HomeBrew 安装的 Git。 在终端的一行中输入以下命令:/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"。 然后,运行 brew install gitbrew install git-lfs

创建空间定位点资源

转到 Azure 门户

在左窗格中,选择“创建资源”。

使用搜索框以搜索“空间定位点”。

显示空间定位点搜索结果的屏幕截图。

选择“空间定位点”,然后选择“创建” 。

在“空间定位点帐户”窗格中,执行以下操作:

  • 使用常规字母数字字符输入唯一的资源名称。

  • 选择想要将资源附加到的订阅。

  • 选择“新建”可创建资源组。 将其命名为 myResourceGroup,然后选择“确定” 。

    资源组是在其中部署和管理 Azure 资源(例如 Web 应用、数据库和存储帐户)的逻辑容器。 例如,可以选择在使用完之后通过一个简单的步骤删除整个资源组。

  • 选择可在其中放置资源的位置(区域)。

  • 选择“创建”开始创建资源。

用于创建资源的“空间定位点”窗格的屏幕截图。

创建资源后,Azure 门户显示部署已完成。

显示资源部署已完成的屏幕截图。

选择“转到资源”。 你现在可以查看资源属性。

将资源的“帐户 ID”值复制到文本编辑器中,供稍后使用。

“资源属性”窗格的屏幕截图。

另外,将资源的“帐户域”值复制到文本编辑器中,供稍后使用。

显示资源的帐户域值的屏幕截图。

在“设置”下,选择“访问密钥” 。 将“帐户密钥”的“主密钥”值复制到文本编辑器中,供稍后使用 。

帐户的“密钥”窗格的屏幕截图。

下载示例项目并导入 SDK

克隆示例存储库

通过运行以下命令克隆示例存储库

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

导入 ASA SDK

按照此处的说明下载并导入 iOS 平台所需的 ASA SDK 包。

配置 Unity

在 Unity 中,打开 Unity 文件夹中的项目。 Unity 可能会提示项目使用的版本和计算机上安装的版本有所不同。 只要你的 Unity 编辑器版本比创建项目时所用的版本新,就可以忽略这个警告。 如果你的版本较新,请选择“继续”。 如果你的版本比项目所需的版本旧,请选择“退出”,并升级 Unity 编辑器。

Unity 窗格的屏幕截图。

通过选择“文件”>“生成设置”,打开“生成设置”。

在“平台”部分,选择“iOS” 。

选择“切换平台”,以将平台更改为“iOS” 。 Unity 可能会提示你安装 iOS 支持组件(若缺少这些组件)。

Unity 生成设置窗口的屏幕截图。

关闭“生成设置”窗口 。

配置帐户信息

接下来是将应用配置为使用你的帐户信息。 你之前已在“创建空间定位点资源”部分中,将“帐户密钥”、“帐户 ID”和“帐户域”值复制到文本编辑器中 。

在“项目”窗格中,转到 Assets\AzureSpatialAnchors.SDK\Resources

选择“SpatialAnchorConfig”。 在“检查器”窗格中,输入 Account Key 作为“空间定位点帐户密钥”的值,输入 Account ID 作为“空间定位点帐户 ID”的值,然后输入 Account Domain 作为“空间定位点帐户域”的值 。

导出 XCode 项目

通过选择“文件”>“生成设置”,打开“生成设置” 。

在“生成中的场景”下,确保所有场景旁边都有复选标记。

选择“生成” 。 在打开的窗格中,选择要将 Xcode 项目导出到的文件夹。

导出完成后,系统显示包含导出的 Xcode 项目的文件夹。

注意

如果出现一个窗口,其中的消息询问你是要替换还是要追加,建议选择“追加​​”,因为它速度更快。 “替换”将删除目标文件夹中的所有文件并生成新内容。

打开 XCode 项目

现在可以在 Xcode 中打开 Unity-iPhone.xcodeproj 项目。

你可以启动 Xcode 并打开导出的 Unity-iPhone.xcodeproj 项目;也可以通过从导出项目的位置运行以下命令,在 Xcode 中启动项目:

open ./Unity-iPhone.xcodeproj

选择根“Unity-iPhone”节点以查看项目设置,然后选择“常规”选项卡

在“部署信息”下,确保将部署目标设置为“iOS 11.0” 。

选择“签名和功能”选项卡,并确保已启用“自动管理签名”。 如果未启用,请启用,然后在出现的窗格中选择“自动启用”重置生成设置。

将应用部署到 iOS 设备

将 iOS 设备连接到 Mac 并将“活动方案”设置为 iOS 设备。

用于选择设备的“我的 iPhone”按钮的屏幕截图。

选择“生成并运行当前方案”。

“部署并运行”箭头按钮的屏幕截图。

在应用中,使用箭头选择“BasicDemo”,然后按“开始!”按钮以运行演示。 按说明放置并重新调用定位点。

屏幕截图 1屏幕截图 2屏幕截图 3

完成后,通过在 Xcode 中按“停止”来停止应用。

疑难解答

呈现问题

运行应用时,如果没看到作为背景的照相机(例如,你看到的是空白、蓝色或其他纹理),则可能需要重新导入 Unity 中的资产。 停止应用。 在 Unity 中的顶部菜单中,选择“资产”->“重新导入全部”。 然后再次运行应用。

清理资源

在前面的步骤中,你在资源组中创建了 Azure 资源。 如果将来不再需要这些资源,可以通过删除资源组来删除它们。

从 Azure 门户菜单或“主页”页上,选择“资源组” 。 然后,在“资源组”页上,选择“myResourceGroup” 。

在“myResourceGroup”页中,确保列出的资源是要删除的资源。

选择“删除资源组” ,在文本框中键入“myResourceGroup” 以确认,然后选择“删除” 。

后续步骤

在本快速入门中,你已创建空间定位点帐户。 然后,你配置并部署了应用来保存和重新调用空间定位点。 要详细了解如何改进应用使其可以与其他设备共享空间定位点,请继续学习下一个教程。