サンプル アプリを実行する: iOS - Xcode (Swift または Objective-C)

このクイックスタートでは、Xcode (Swift または Objective-C) を使用して iOS デバイス用の Azure Spatial Anchors サンプル アプリを実行する方法について説明します。 Azure Spatial Anchors は、クロスプラットフォーム対応の開発者向けサービスです。このサービスを使用すると、時間が経過した後でも複数のデバイス間で位置情報を保持するオブジェクトを使用して複合現実エクスペリエンスを作成できます。 完了すると、空間アンカーを保存して再呼び出しできる ARKit iOS アプリが作成されます。

学習内容は次のとおりです。

  • Spatial Anchors アカウントを作成する
  • Spatial Anchors アカウント識別子とアカウント キーを構成する
  • iOS デバイスにデプロイして実行する

Azure サブスクリプションをお持ちでない場合は、開始する前に Azure 無料アカウントを作成してください。

前提条件

このクイック スタートを実行するには、以下が必要です。

  • 最新バージョンの XcodeCocoaPods がインストールされた、開発者向けの macOS コンピューター。
  • HomeBrew を介してインストールされた Git:
    1. コマンド /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" をターミナルに 1 行で入力します。
    2. brew install git および brew install git-lfs を実行します。
    3. git lfs install (現在のユーザーに対して) または git lfs install --system (システム全体に対して) で git 構成を更新します。
  • 開発者向けの ARKit 対応 iOS デバイス。

Spatial Anchors リソースを作成する

Azure ポータルにアクセスします。

左側のウィンドウで、 [リソースの作成] を選択します。

検索ボックスを使用して、「Spatial Anchors」を検索します。

Screenshot showing the results of a search for Spatial Anchors.

[Spatial Anchors] を選択し、 [作成] を選択します。

[Spatial Anchors アカウント] ウィンドウで次を行います。

  • 通常の英数字を使用して一意のリソース名を入力します。

  • リソースをアタッチするサブスクリプションを選択します。

  • [新規作成] を選択して、リソース グループを作成します。 「myResourceGroup」と名前を付け、 [OK] を選択します。

    リソース グループとは、Web アプリ、データベース、ストレージ アカウントなどの Azure リソースのデプロイと管理に使用する論理コンテナーです。 たとえば、後から簡単な手順で一度にリソース グループ全体を削除することもできます。

  • リソースを配置する場所 (リージョン) を選択します。

  • [作成] を選択して、リソースの作成を開始します。

Screenshot of the Spatial Anchors pane for creating a resource.

リソースが作成されると、Azure portal に、デプロイが完了したことが表示されます。

Screenshot showing that the resource deployment is complete.

[リソースに移動] を選択します。 これでリソースのプロパティを表示できます。

リソースの [アカウント ID] 値は後で使用するためにテキスト エディターにコピーしておきます。

Screenshot of the resource properties pane.

また、リソースの [アカウント ドメイン] 値を後で使用するためにテキスト エディターにコピーします。

Screenshot showing the resource's account domain value.

[設定][アクセス キー] を選択します。 [主キー] 値の [アカウント キー] を後で使用するためにテキスト エディターにコピーします。

Screenshot of the Keys pane for the account.

サンプル プロジェクトを開く

ターミナルを使用して、以下のアクションを実行します。

次のコマンドを実行して samples リポジトリを複製します。

git clone https://github.com/Azure/azure-spatial-anchors-samples.git
cd ./azure-spatial-anchors-samples

CocoaPods を使用して必要なポッドをインストールします。

iOS/Swift/ に移動します。

cd ./iOS/Swift/

pod install --repo-update を実行して、プロジェクトの CocoaPods をインストールします。

Note

macOS Monterey (12.2.1) がある場合は、次のコマンドを使用します

pod update を実行して、プロジェクトの CocoaPods をインストールします。

Xcode で .xcworkspace を開きます。

Note

macOS Catalina (10.15) にアップグレードした後に CocoaPod に関する問題が発生している場合は、こちらのトラブルシューティングの手順を参照してください。

open ./SampleSwift.xcworkspace

アカウント識別子とキーを構成する

次に、自分のアカウント識別子とアカウント キーを使用するようにアプリを構成します。 これらの情報は、Spatial Anchors リソースを設定するときにテキスト エディターにコピーしました。

iOS/Swift/SampleSwift/ViewControllers/BaseViewController.swiftを開きます。

spatialAnchorsAccountKey フィールドを見つけ、Set me をアカウント キーに置き換えます。

spatialAnchorsAccountId フィールドを見つけ、Set me をアカウント識別子に置き換えます。

spatialAnchorsAccountDomain フィールドを見つけ、Set me をアカウント ドメインに置き換えます。

アプリを iOS デバイスにデプロイする

iOS デバイスを Mac に接続し、アクティブ スキームを iOS デバイスに設定します。

Select the device

[Build and then run the current scheme](ビルドしてから現在のスキームを実行する) を選択します。

Deploy and run

Note

library not found for -lPods-SampleObjC エラーが表示される場合は、.xcworkspace ではなく .xcodeproj ファイルを開いた可能性があります。 .xcworkspace を開き、もう一度試してください。

Xcode で、 [Stop](停止) を押してアプリを停止します。

トラブルシューティング

macOS Catalina (10.15) での CocoaPods に関する問題

最近 macOS Catalina (10.15) に更新し、そのとき事前に CocoaPods がインストールされていると、CocoaPods が破損した状態になり、ポッドや .xcworkspace プロジェクト ファイルを正しく構成できないことがあります。 この問題を解決するには、次のコマンドを実行して CocoaPods を再インストールする必要があります。

brew update
brew install cocoapods --build-from-source
brew link --overwrite cocoapods

アプリを個人のプロビジョニング プロファイル、または開発者アカウントから iOS 10.3.1 に展開するとクラッシュする

iOS 10.3.1 上の iOS アプリを個人のプロビジョニング プロファイルまたは開発者アカウントから展開すると、エラー Library not loaded: @rpath/ADAL... が表示されることがあります。

この問題を解決するには:

  • Personal Team プロファイル (有料開発者アカウント) ではないプロビジョニング プロファイルを使用します。
  • iOS 13.3 以前を実行している iOS デバイスまたは iOS 13.4 ベータ版またはリリース版を実行している iOS デバイスにアプリを展開します。
  • この問題の詳細についてはスタック オーバーフローを参照してください。

リソースをクリーンアップする

前の手順では、リソース グループ内に Azure リソースを作成しました。 これらのリソースが将来必要になると思わない場合は、リソース グループを削除してリソースを削除できます。

Azure portal メニューまたは [ホーム] ページから、 [リソース グループ] を選択します。 次に、 [リソース グループ] ページで [myResourceGroup] を選択します。

[myResourceGroup] ページで、一覧表示されたリソースが、削除しようとするリソースであることを確認します。

[リソース グループの削除] を選択し、確認のためテキスト ボックスに「myResourceGroup」と入力して、 [削除] を選択します。

次のステップ

このクイック スタートでは、Spatial Anchors アカウントを作成しました。 次に、空間アンカーを保存して再呼び出しするようにアプリを構成してデプロイしました。 他のデバイスと空間アンカーを共有できるようにアプリを改良する方法の詳細を学習するには、次のチュートリアルに進んでください。