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. 將下列 platform 和 pod 新增至專案的 Podfile:

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

永久雲端錨點

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

後續步驟