iOS 中的 Cloud Anchor 快速入門導覽課程

ARCore Cloud Anchor API (或 ARCore Cloud Anchor 服務) 可為 iOS 應用程式提供雲端錨點功能,讓 iOS 和 Android 裝置的使用者都能分享 AR 體驗。

本指南說明如何:

  • 設定開發環境以便與 Cloud Anchors 搭配使用
  • 在範例應用程式中試用錨點代管和解析功能

必要條件

  • Xcode 13.0 以上版本
  • 如果使用 Cocoapods,請使用 1.4.0 以上版本
  • 搭載 iOS 12.0 以上版本的 ARKit 相容 Apple 裝置 (必須指定 iOS 12.0 以上版本為部署目標)

使用 Cloud Anchors

以下步驟會使用 Cloud Anchors 範例應用程式,說明設定及建構支援 ARCore Cloud Anchors 的應用程式時的重要工作。

取得 Cloud Anchors 範例應用程式

  1. GitHub 複製或下載 ARCore SDK for iOS,取得應用程式範例程式碼。

  2. 開啟 Terminal 或 Finder 視窗,然後前往複製或下載 SDK 的資料夾。

  3. 您可以在
    /arcore-ios-sdk-master/Examples/CloudAnchorExample 中找到應用程式程式碼範例。

    持續性雲端錨點範例應用程式程式碼位於
    /arcore-ios-sdk-master/Examples/PersistentCloudAnchorExample

工作階段設定

在設定工作階段時,範例應用程式會執行下列重要工作:

設定 Cloud Anchor ID 共用

Cloud Anchors 範例應用程式會使用 Firebase,在裝置之間分享 Cloud Anchor ID。您可以在自己的應用程式中使用其他解決方案。

如要在範例應用程式中設定 Firebase 資料庫,請按照下列步驟操作:

  1. 請按照 Firebase 操作說明將 Firebase 新增至應用程式
  2. 下載在將 Firebase 新增至應用程式時產生的 GoogleService-Info.plist 檔案。
  3. 為範例啟用 Firebase 儲存空間:
    • 前往 Firebase 主控台,然後選取您為範例應用程式設定的專案。
    • 選取 Database 面板。
    • Realtime Database 選項上,按一下 Get Started
    • Security rules for Realtime Database 選單隨即開啟。
      • 如要執行範例,請選取 Start in test mode
      • 請注意,如果您打算為要發布的應用程式使用 Firebase,應採用更嚴格的安全性規則。
  4. 在 Xcode 中,將 GoogleService-Info.plist 檔案新增至應用程式,放在 Info.plist 旁邊。

設定 ARCore API

如要使用 Cloud Anchors,您必須先為應用程式設定 ARCore API

執行 Pod 更新

CloudAnchorExample 應用程式隨附預先設定的 Podfile,其中包含 ARCore SDK 和所需的 iOS 版本。如要安裝這些依附元件,請按照下列步驟操作:

  1. 開啟終端機視窗,然後從 Xcode 專案所在的資料夾執行 pod update
    這會產生 .xcworkspace 檔案,供您稍後用於建構及執行應用程式。

如要進一步瞭解如何在應用程式中設定 Podfile,請參閱「在應用程式中加入 ARCore SDK」。

  1. 在 Xcode 中開啟專案的 .xcworkspace 檔案。

    為避免發生建構錯誤,請務必從 .xcworkspace 檔案建構,而非 .xcodeproj 檔案。

變更應用程式套件 ID

在 Xcode 中變更應用程式的套件 ID,以便與團隊簽署應用程式。

建立應用程式並加以執行

  1. 連接裝置,並在 Xcode 中啟動應用程式。

  2. (選用) 如果您要建構及執行範例應用程式,請參閱下文,瞭解如何使用應用程式代管及解析 Cloud Anchor。

試用範例應用程式

  1. .xcworkspace 檔案建構並執行範例應用程式,即可在裝置上啟動應用程式。

  2. 系統提示時,請授予應用程式相機權限。ARKit 就會開始偵測相機前方的平面。

  3. 輕觸 HOST 即可進入主控模式。系統會產生共用主控畫面代碼,並顯示在畫面上。

  4. 輕觸飛機即可開始在該處代管雲端錨點。

    • 應用程式會將 Andy Android 物件放在平面上,並附加錨點。
    • 主機要求會傳送至 ARCore API 雲端端點。主機要求包含資料,代表錨點相對於附近視覺特徵的位置。
    • 錨點託管後,會取得 ID,用於解析這個空間中的雲端錨點。
  5. 輕觸 RESOLVE 並輸入房間代碼,即可使用相同或其他裝置存取先前為此房間代管的 Cloud Anchor。

    • 解決要求會傳送至 ARCore API 雲端端點。
    • 解析要求包含雲端錨點 ID。如果 ID 與已代管錨點相符,且本地化成功,伺服器會以本機座標傳回錨點的轉換。
    • 範例應用程式會使用轉換功能,將錨點新增至場景,並轉譯連結至該錨點的虛擬物件。

在應用程式中加入 ARCore SDK

在您自己的應用程式中,您需要更新 Podfile,以納入 ARCore SDK 和支援的 iOS 版本。步驟如下:

  1. 將下列 platformpod 新增至專案的 Podfile

        platform :ios, '11.0'
        pod 'ARCore/CloudAnchors', '~> 1.48.0'
    
  1. 開啟終端機視窗,然後從 Xcode 專案所在的資料夾執行 pod update
    會產生 .xcworkspace 檔案,供您用來建構及執行應用程式。

永久雲端錨點

持續性託管 Cloud Anchor一文所述,您可以為 Cloud Anchor 設定最長 365 天的存留期限。您可以在 GitHub 上的 iOS 版 ARCore SDK /arcore-ios-sdk-master/Examples/PersistentCloudAnchorExample 目錄中,找到使用持久雲端錨點的範例程式碼。

後續步驟