iOS 適用的地理空間快速入門導覽課程

本 ARCore Geospatial API 快速入門說明如何在 Xcode 中執行範例應用程式,以示範 Geospatial API。

如需使用 Geospatial API 開發應用程式的指南,請參閱 iOS 適用的 Geospatial 開發人員指南

如要進一步瞭解 Geospatial API,請參閱「ARCore Geospatial API 簡介」。

如果您是 ARCore 開發新手,請參閱「開發入門」一文。

必要條件

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

設定範例應用程式

ARCore SDK for iOS 隨附的 GeospatialExample 專案會說明呼叫 Geospatial API 的程式碼。

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

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

  3. 前往 arcore-ios-sdk-master/Examples 資料夾。

  4. 開啟「Examples」資料夾,選取「GeospatialExample」資料夾,然後按一下「Open」

設定 Google Cloud 專案

在應用程式中使用視覺定位系統 (VPS) 前,您必須先在新的或現有 Google Cloud 專案中啟用 ARCore API。雖然 Geospatial API 支援無金鑰和 API 金鑰授權,但本快速入門指南會使用 API 金鑰方法。

設定授權

如要對 VPS 發出 Geospatial API 呼叫,範例應用程式需要授權,並且可能會使用未設限的 API 金鑰。如果您使用受限制的 API 金鑰,則必須提供軟體包 ID 與 API 金鑰建立關聯。

  1. 在 XCode 的 GeospatialExample 範例應用程式中,開啟 ViewController.m 檔案,然後搜尋 your-api-key

  2. 將 API 金鑰新增至 GARSession:將您在上一個步驟中複製的 API 金鑰貼到「your-api-key」文字上 (請保留引號),如下所示:

    self.garSession = [GARSession sessionWithAPIKey:@"your-api-key"
                                   bundleIdentifier:nil
                                              error:&error];
    

設定 ARCore SDK

GeospatialExample 應用程式隨附預先設定的 Podfile,其中包含 ARCore SDK 和所需的 iOS 版本。如要安裝這些依附元件,請開啟終端機視窗,然後從 Xcode 專案所在的資料夾執行 pod install

這會產生 .xcworkspace 檔案,您稍後可用於建構及執行應用程式。

建構並執行範例應用程式

  1. 在 Xcode 中選取 GeospatialExample 工作區檔案,然後按一下「Signing & Capabilities」

  2. 勾選「自動管理簽署」方塊。

  3. 在「團隊」欄位中輸入團隊名稱。

    您可以使用預設的軟體包 ID,透過 Xcode 執行應用程式,但如果您要在實際環境中使用 GeospatialExample 做為自家應用程式的虛設檔,就必須變更該 ID。

  4. 連結裝置以執行範例應用程式。

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

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

您應該會看到相機檢視畫面,以及描述裝置目前地理空間轉換的偵錯資訊。在掃描周遭環境時,如果您位於 VPS 定位功能支援的地區,請注意,位置資訊準確度信賴度值可能會隨著移動而變更。

當 ARCore 確認裝置的位置和方位時,您就可以使用地理空間轉換功能,在目前位置放置錨點。

如果無法取得 VPS 資訊,定位精確度可能會過低。應用程式必須連上網際網路,且 VPS 必須知道位置。為獲得最佳結果,請在白天時在戶外 (而非室內) 執行範例應用程式。

此外,如果您位於不支援 VPS 的地區,或是 GPS 訊號不足,可能就需要調整應用程式中的信心門檻,才能放置錨點。

如要調整閾值,請按照下列步驟操作:

  1. 在 Xcode 中開啟 ViewController.m 檔案,然後瀏覽至以下部分:

    // Thresholds for 'good enough' accuracy. These can be tuned for the
    // application. We use both 'low'
    // and 'high' values here to avoid flickering state changes.
    static const CLLocationAccuracy kHorizontalAccuracyLowThreshold = 10;
    static const CLLocationAccuracy kHorizontalAccuracyHighThreshold = 20;
    static const CLLocationDirectionAccuracy kHeadingAccuracyLowThreshold = 15;
    static const CLLocationDirectionAccuracy kHeadingAccuracyHighThreshold = 25;
    
  2. 視需要調整這些值。值越高,準確度就會降低

    降低精確度可讓應用程式在放置錨點時有更大的彈性。詳情請參閱「調整轉換精確度」一文。

後續步驟

請參閱 iOS 適用的地理空間開發人員指南,並開始使用 Geospatial API 進行建構。