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

ARCore Cloud Anchor API(または ARCore Cloud Anchor サービス)は、iOS アプリに Cloud Anchor 機能を提供します。これにより、iOS デバイスと Android デバイスの両方のユーザーが AR エクスペリエンスを共有できます。

このガイドでは、次の方法について説明します。

  • Cloud Anchor と連携するように開発環境を設定する
  • サンプルアプリでアンカーのホストと解決を試す

前提条件

  • Xcode バージョン 13.0 以降
  • Cocoapods を使用している場合: Cocoapods 1.4.0 以降
  • iOS 12.0 以降を搭載した ARKit 対応の Apple デバイス(デプロイ ターゲットが iOS 12.0 以降である必要があります)

Cloud Anchor の使用

次の手順では、Cloud Anchors サンプルアプリを使用して、ARCore Cloud Anchors をサポートするアプリの構成とビルドに必要な重要なタスクについて説明します。

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

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

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

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

    永続的な Cloud Anchors サンプルアプリのコードは
    /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 Storage を有効にします。
    • 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 ファイルからビルドしていることを確認してください。

アプリのバンドル ID を変更する

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

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

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

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

サンプルアプリを試す

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

  2. メッセージが表示されたら、アプリにカメラの権限を付与します。ARKit は、カメラの前面にある平面の検出を開始します。

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

  4. 平面をタップして、その場所でクラウド アンカーのホストを開始します。

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

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

アプリに ARCore SDK を追加する

独自のアプリでは、ARCore SDK とサポートされている iOS バージョンを追加するように Podfile を更新する必要があります。手順は次のとおりです。

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

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

永続的な Cloud Anchors

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

次のステップ