執行範例應用程式: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:
- 在終端機中輸入下列命令做為單行:
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
。 - 執行
brew install git
和brew install git-lfs
。 - 使用
git lfs install
(針對目前使用者) 或git lfs install --system
(針對整個系統) 更新您的 Git 組態。
- 在終端機中輸入下列命令做為單行:
- 已啟用開發人員的 ARKit 相容 iOS 裝置。
建立 Spatial Anchors 資源
前往 Azure 入口網站。
在左窗格中,選取 [建立資源]。
使用搜尋方塊來搜尋 Spatial Anchors。
選取 [空間錨點],然後選取 [ 建立]。
在 [ 空間錨點帳戶 ] 窗格上,執行下列動作:
使用一般英數位元輸入唯一的資源名稱。
選取您要附加資源的訂用帳戶。
選取 [新建] 以建立資源群組。 將它命名為 myResourceGroup,然後選取 [ 確定]。
資源群組是一個邏輯容器,可在其中部署與管理 Azure 資源 (例如 Web 應用程式、資料庫和儲存體帳戶)。 例如,您可以選擇在稍候透過一個簡單的步驟刪除整個資源群組。
選取要放置資源的位置(區域)。
選取 [建立] 開始建立資源。
建立資源之後,Azure 入口網站 會顯示您的部署已完成。
選取 [前往資源] 。 您現在可以檢視資源屬性。
將資源的 [帳戶標識符 ] 值複製到文本編輯器中,以供稍後使用。
此外,將資源的 帳戶網域 值複製到文本編輯器中,以供稍後使用。
在 [設定] 底下,選取 [存取金鑰]。 將 [主要金鑰] 值 [帳戶金鑰] 複製到文字編輯器,以供稍後使用。
開啟範例專案
使用終端機來執行下列動作。
執行下列命令來複製範例存放 庫 :
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 裝置。
選取 [ 建置],然後執行目前的配置。
注意
如果您看到 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 帳戶。 然後,您已設定並部署應用程式,以儲存並重新叫用空間錨點。 若要深入瞭解如何改善應用程式,使其可以與其他裝置共享空間錨點,請繼續進行下一個教學課程。