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 進行建構。