iOS での Cloud Anchors のクイックスタート

ARCore Cloud Anchor APIARCore 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 の使用

次の手順では、Cloud Anchors サンプルアプリを使用して、ARCore Cloud Anchors をサポートするアプリを構成およびビルドするための重要なタスクを示します。

Cloud Anchors サンプルアプリを入手する

  1. GitHub から ARCore SDK for iOS のクローンを作成するかダウンロードして、サンプルアプリコードを取得します。

  2. ターミナルまたは Finder ウィンドウを開き、SDK のクローンを作成するかダウンロードしたフォルダに移動します。

  3. サンプルアプリのコードは
    /arcore-ios-sdk-master/Examples/CloudAnchorExample にあります。

    永続クラウド アンカーのサンプルアプリのコードは /arcore-ios-sdk-master/Examples/PersistentCloudAnchorExample にあります。

セッションのセットアップ

サンプルアプリは、セッションの設定の一環として次の重要なタスクを実行します。

Cloud Anchor ID の共有を設定する

Cloud Anchors サンプルアプリは、デバイス間で Cloud Anchor ID を共有するために Firebase を使用します。実際のアプリでは別の方法を使用できます。

サンプルアプリで 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 アプリには、必要な ARCore SDK と iOS バージョンがあらかじめ構成された Podfile が付属しています。これらの依存関係をインストールするには:

  1. ターミナル ウィンドウを開き、Xcode プロジェクトが存在するフォルダから pod update を実行します。
    これにより、後でアプリをビルドして実行する際に使用する .xcworkspace ファイルが生成されます。

独自のアプリで Podfile を構成する方法について詳しくは、ARCore SDK をアプリに追加するをご覧ください。

  1. Xcode でプロジェクトの .xcworkspace ファイルを開きます。

    ビルドエラーを回避するには、.xcodeproj ファイルではなく、.xcworkspace ファイルからビルドするようにしてください。

App Bundle ID を変更する

Xcode で、チームでアプリに署名できるように、アプリのバンドル ID を変更します。

アプリをビルドして実行する

  1. デバイスを接続して、Xcode でアプリを起動します。

  2. (省略可)サンプルアプリをビルドして実行している場合は、アプリを使用して Cloud Anchors をホストおよび解決する方法の詳細に関する次のセクションをご覧ください。

サンプルアプリを試してみる

  1. .xcworkspace ファイルからサンプルアプリをビルドして実行し、デバイスで起動します。

  2. プロンプトが表示されたら、アプリにカメラの権限を付与します。ARKit はカメラの前方の飛行機の検出を開始します。

  3. HOST をタップしてホスティング モードに切り替えます。ホストされたアンカーを共有するためのルームコードが生成され、画面に表示されます。

  4. 飛行機をタップすると、そこにクラウド アンカーのホストが開始されます。

    • アプリは Andy Android オブジェクトをプレーンに配置し、アンカーをアタッチします。
    • ホスト リクエストが ARCore API クラウド エンドポイントに送信されます。ホスト リクエストには、近くの視覚的特徴に対するアンカーの位置を表すデータが含まれます。
    • ホストされたアンカーは、このスペース内のクラウド アンカーの解決に使用される ID を取得します。
  5. [RESOLVE] をタップして部屋コードを入力し、同じ部屋または別のデバイスを使って、この部屋の以前ホストされたクラウド アンカーにアクセスします。

    • 解決リクエストが ARCore API クラウド エンドポイントに送信されます。
    • 解決リクエストにはクラウド アンカー ID が含まれます。ID がホストされているアンカーと一致し、ローカライズに成功すると、サーバーはローカル座標でアンカーの変換を返します。
    • サンプルアプリは、この変換を使用してシーンにアンカーを追加し、アタッチされた仮想オブジェクトをレンダリングします。

ARCore SDK をアプリに追加する

実際のアプリでは、Podfile を更新して、ARCore SDK とサポートされている iOS バージョニングを含める必要があります。手順は次のとおりです。

  1. プロジェクトの Podfile に次の platformpod を追加します。

        platform :ios, '11.0'
        pod 'ARCore/CloudAnchors', '~> 1.41.0'
    
  1. ターミナル ウィンドウを開き、Xcode プロジェクトが存在するフォルダから pod update を実行します。
    これにより、アプリのビルドと実行に使用する .xcworkspace ファイルが生成されます。

永続クラウド アンカー

永続性を備えた Cloud Anchor をホストするで説明されているように、Cloud アンカーの有効期間を最長 365 日間に設定できます。永続的なクラウド アンカーを使用するためのサンプルコードは、GitHub の ARCore SDK for iOS/arcore-ios-sdk-master/Examples/PersistentCloudAnchorExample ディレクトリにあります。

次のステップ