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

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

本指南將說明如何:

  • 設定開發環境,以便與 Cloud Anchors 搭配使用
  • 嘗試在範例應用程式中託管及解析錨點

必備條件

  • Xcode 13.0 以上版本
  • Cocoapods 1.4.0 以上版本 (如果使用 Cocoapods)
  • 搭載 iOS 12.0 以上版本的 ARKit 相容 Apple 裝置 (需要 iOS 12.0 以上版本的部署目標)

使用雲端錨點

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

取得 Cloud Anchors 範例應用程式

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

  2. 開啟終端機或 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 Anchor,您必須先為應用程式設定 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 雲端端點。
    • 解析要求含有 Cloud 錨點 ID。如果 ID 與代管錨點相符,且本地化成功,伺服器就會在本機座標中傳回錨點的轉換。
    • 範例應用程式使用轉換將錨點新增至場景,並算繪附加的虛擬物件。

在應用程式中加入 ARCore SDK

在您自己的應用程式中,您必須更新 Podfile 以加入 ARCore SDK 與支援的 iOS 版本管理。操作說明如下:

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

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

永久雲端錨點

以持續性代管 Cloud Anchor 一文所述,您可以為雲端錨點設定存留時間,最長可達 365 天。用於使用永久雲端錨點的程式碼範例位於 GitHub 的 iOS 版 ARCore SDK/arcore-ios-sdk-master/Examples/PersistentCloudAnchorExample 目錄中。

後續步驟