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

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

本指南說明如何:

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

必要條件

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

使用 Cloud Anchors

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

取得 Cloud Anchors 範例應用程式

  1. 複製或從 GitHub 下載 iOS 版 ARCore SDK 取得範例應用程式的程式碼

  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. 下載系統在新增時產生的 GoogleService-Info.plist 檔案 由 Firebase 導入您的應用程式。
  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. 開啟「終端機」視窗,然後從以下位置的資料夾中執行 pod update: Xcode 專案已存在。
    這會產生 .xcworkspace 檔案,您稍後可用來建構及執行應用程式。

請參閱在應用程式中加入 ARCore SDK ,進一步瞭解如何在自己的應用程式中設定 Podfile

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

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

變更應用程式套件 ID

在 Xcode 中變更應用程式的軟體包 ID,以便與您的團隊簽署應用程式。

建立應用程式並加以執行

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

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

試用範例應用程式

  1. 透過 .xcworkspace 檔案建構並執行範例應用程式,以便啟動 在您的裝置上。

  2. 如果出現提示,請將相機權限授予應用程式。然後 ARKit 然後 從攝影機前開始偵測飛機

  3. 輕觸 HOST 即可進入主控模式。分享代管錨定廣告的會議室代碼 。

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

    • 應用程式將 Andy Android 物件放到平面上,並附加錨點 先前提過 執行個體對於分配到的外部 IP 位址一無所知
    • 主機要求會傳送至 ARCore API 雲端端點。主辦人 要求包含代表錨點位置相對於 周圍的視覺特徵
    • 錨點託管後,會取得 ID,用於解析這個空間中的雲端錨點。
  5. 輕觸「RESOLVE」並輸入聊天室代碼,即可存取先前的內容 並採用相同或不同的裝置,來為這個聊天室代管 Cloud Anchors。

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

在應用程式中新增 ARCore SDK

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

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

        platform :ios, '11.0'
        pod 'ARCore/CloudAnchors', '~> 1.46.0'
    
  1. 開啟「終端機」視窗,然後從下列資料夾執行 pod update: 您的 Xcode 專案已經存在
    這項操作會產生 .xcworkspace 檔案,可用於建構 最終的可執行映像檔 而另一個容器只接收執行應用程式所需的資料

持續性雲端錨點

如「託管具有持續性的 Cloud Anchor」所述, 則最多能保留 365 天的雲端錨點存留時間您可以在 GitHub 上的 iOS 版 ARCore SDK /arcore-ios-sdk-master/Examples/PersistentCloudAnchorExample 目錄中,找到使用持久雲端錨點的範例程式碼。

後續步驟