執行範例應用程式:iOS - Xcode (Swift 或 Objective-C)

本快速入門說明如何使用 Xcode (Swift 或 Objective-C) 執行適用于 iOS 裝置的 Azure Spatial Anchors 範例應用程式。 Azure Spatial Anchors 是一項跨平臺開發人員服務,可讓您使用物件建立混合實境體驗,這些物件會隨著時間在裝置之間保存其位置。 完成時,您將會有 ARKit iOS 應用程式,可儲存並重新叫用空間錨點。

您將學習如何:

  • 建立 Spatial Anchors 帳戶
  • 設定 Spatial Anchors 帳戶識別碼和帳戶金鑰
  • 在 iOS 裝置上部署和執行

如果您沒有 Azure 訂閱,請在開始之前,先建立 Azure 免費帳戶

必要條件

若要完成本快速入門,請確定您有:

  • 已安裝最新版 Xcode CocoaPods 的 開發人員啟用 macOS 電腦。
  • 透過 HomeBrew 安裝的 Git:
    1. 在終端機中輸入下列命令做為單行: /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
    2. 執行 brew install gitbrew install git-lfs
    3. 使用 git lfs install (針對目前使用者) 或 git lfs install --system (針對整個系統) 更新您的 Git 組態。
  • 已啟用開發人員的 ARKit 相容 iOS 裝置。

建立 Spatial Anchors 資源

前往 Azure 入口網站

在左窗格中,選取 [建立資源 ]。

使用搜尋方塊來搜尋 Spatial Anchors

Screenshot showing the results of a search for Spatial Anchors.

選取 [空間錨點 ],然後選取 [ 建立 ]。

在 [ 空間錨點帳戶 ] 窗格上,執行下列動作:

  • 使用一般英數位元輸入唯一的資源名稱。

  • 選取您要附加資源的訂用帳戶。

  • 選取 [新建 ] 以建立資源群組。 將它命名為 myResourceGroup ,然後選取 [ 確定 ]。

    資源群組 是一個邏輯容器,其中會部署和管理 Azure 資源,例如 Web 應用程式、資料庫和儲存體帳戶。 例如,您可以選擇稍後在一個簡單的步驟中刪除整個資源群組。

  • 選取要放置資源的位置(區域)。

  • 選取 [建立] 以開始建立資源。

Screenshot of the Spatial Anchors pane for creating a resource.

建立資源之後,Azure 入口網站會顯示您的部署已完成。

Screenshot showing that the resource deployment is complete.

選取 [前往資源] 。 您現在可以檢視資源屬性。

將資源的 [帳戶識別碼 ] 值複製到文字編輯器中,以供稍後使用。

Screenshot of the resource properties pane.

此外,將資源的 帳戶網域 值複製到文字編輯器中,以供稍後使用。

Screenshot showing the resource's account domain value.

在 [設定] 底下 ,選取 [ 存取金鑰 ]。 將 [ 主要金鑰] 值 [帳戶金鑰 ] 複製到文字編輯器,以供稍後使用。

Screenshot of the Keys pane for the account.

開啟範例專案

使用終端機來執行下列動作。

執行下列命令來複製範例存放

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

使用 CocoaPods 安裝必要的 Pod:

瀏覽至 iOS/Swift/

cd ./iOS/Swift/

執行 pod install --repo-update 以安裝專案的 CocoaPods。

注意

如果您有 macOS Monterey ,請使用下列命令 (12.2.1)

執行 pod update 以安裝專案的 CocoaPods。

現在在 Xcode 中開啟 .xcworkspace

注意

如果您在升級至 macOS Catalina (10.15) 之後遇到 CocoaPod 問題,請參閱這裡的 疑難排解步驟

open ./SampleSwift.xcworkspace

設定帳戶識別碼和金鑰

下一個步驟是將應用程式設定為使用您的帳戶識別碼和帳戶金鑰。 您在設定 Spatial Anchors 資源 ,將它們複製到文字編輯器中。

開啟 [iOS/Swift/SampleSwift/ViewControllers/BaseViewController.swift]。

找出 欄位, spatialAnchorsAccountKey 並以帳戶金鑰取代 Set me

找出 欄位, spatialAnchorsAccountId 並以帳戶識別碼取代 Set me

找出 欄位, spatialAnchorsAccountDomain 並以帳戶網域取代 Set me

將應用程式部署至 iOS 裝置

連線 iOS 裝置到 Mac,並將作用中 配置 設定為 iOS 裝置。

Select the device

選取 [ 建置],然後執行目前的配置

Deploy and run

注意

如果您看到 library not found for -lPods-SampleObjC 錯誤,您可能會開啟 .xcodeproj 檔案,而不是 .xcworkspace.xcworkspace開啟 ,然後再試一次。

在 Xcode 中,按 [停止 ] 以停止應用程式。

疑難排解

macOS Catalina 的 CocoaPods 問題 (10.15)

如果您最近更新為 macOS Catalina (10.15),並事先安裝 CocoaPods,CocoaPods 可能處於中斷狀態,且無法正確設定 Pod 和 .xcworkspace 專案檔。 若要解決此問題,您必須執行下列命令來重新安裝 CocoaPods:

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

從個人布建設定檔/開發人員帳戶部署至 iOS 10.3.1 時,應用程式當機

如果您從個人布建設定檔/開發人員帳戶在 iOS 10.3.1 上部署 iOS 應用程式,您可能會看到此錯誤: Library not loaded: @rpath/ADAL...

若要解決問題:

  • 使用不是個人小組設定檔的布建設定檔(付費開發人員帳戶)。
  • 將您的應用程式部署到執行 iOS 13.3 或更早版本的 iOS 裝置,或部署到執行 iOS 13.4 Beta 或發行版本的裝置。
  • 在 Stack Overflow 深入瞭解此問題。

清除資源

在上述步驟中,您已建立資源群組中的 Azure 資源。 如果您預期未來不需要這些資源,則可以藉由刪除資源群組予以刪除。

從 [Azure 入口網站] 功能表或 [首頁 ] 頁面中,選取 [資源群組 ]。 然後,在 [ 資源群組] 頁面上,選取 myResourceGroup

[myResourceGroup ] 頁面上,確定列出的資源是您想要刪除的資源。

選取 [ 刪除資源群組 ],在文字方塊中輸入 myResourceGroup 以確認,然後選取 [ 刪除 ]。

下一步

在本快速入門中,您已建立 Spatial Anchors 帳戶。 然後,您已設定並部署應用程式,以儲存並重新叫用空間錨點。 若要深入瞭解如何改善應用程式,使其可以與其他裝置共用空間錨點,請繼續進行下一個教學課程。