クロスプラットフォーム「.NET MAUI 」を利用した地図アプリの開発について

4712
0
02-27-2023 11:11 PM

クロスプラットフォーム「.NET MAUI 」を利用した地図アプリの開発について

はじめに

.NET MAUI をサポートしている ArcGIS Maps SDK for .NET を利用することで、地図アプリを開発することができます。ArcGIS Maps SDK for .NET は、Esri が提供する地図アプリ用の SDK で、Windows、mac OS 及び iOSAndroid プラットフォーム上で動作するネイティブ GIS アプリケーションの開発キットであり、Windows デスクトップや Windows タブレット、iOSAndroid などの多様なプラットフォーム向けに様々な GIS 機能を持ったアプリケーションを開発することができます。

Animate3DGraphic.jpg

今回は、ArcGIS Maps SDK for .NET .NET MAUI を使用して、Esri が公開しているサンプルプログラムをiOS と Android の物理デバイスにデプロイするところまでを紹介したいと思います。

.NET MAUI とは

.NET Multi-Platform App UI (.NET MAUI) は、C# XAML を使用して、ネイティブのモバイル アプリやデスクトップ アプリを作成するためのクロスプラットフォーム フレームワークです。.NET MAUI を使用することで、1 つの共有コードから AndroidiOSmacOSWindows で実行できるアプリを開発することができます。

.NET MAUI の詳細については、Microsoft 社の Microsoft Learn ページの「.NET MAUIとは」を参照してください。

ArcGIS Maps SDK for .NET とは

ArcGIS Maps SDK for .NET を使用すると、AndroidiOSmacOS および Windows 用のマッピングおよび位置情報解析アプリを構築できます。この API を使用することで、Windows Presentation Foundation(WPF)、Windows UI LibraryWinUI)、Universal Windows PlatformUWP)、および .NET MAUI の各アプリケーション プラットフォームで作成するデスクトップ アプリとモバイル アプリで、ビジネス及びアプリケーション ロジック コードを共有することができます。

net-sdk-general.png

現在の最新バージョンは、2022 年 12 月 14 日(日本時間 2022 年 12 月 15 日)にリリースしましたバージョン 200.0 になります。詳細は、「ArcGIS Maps SDK for .NET バージョン 200.0 をリリースしました」を参照してください。

ArcGIS Maps SDK for .NET では多くの機能を提供しており、主な機能の詳細については、ArcGIS Maps SDK for .NET の ガイドの Key features (英語) Tutorials (英語を参照してください。

また、すぐに試してみたい方は、WPF版として、Microsoft Store から ArcGIS Maps SDK for .NET Samples (WPF) が提供されています。iOS 版は、Apple Store ArcGIS Runtime SDK SamplesAndroid 版は、Google Play から ArcGIS Runtime SDK Sample View で確認していただくことも可能です。サンプルは、ArcGIS Runtime SDK として提供していますが、ほぼ同じ機能を確認することができます。こちらは、SDK の名称が変更されたことで、ArcGIS Runtime SDK から ArcGIS Maps SDKs for Native Apps となっています。ArcGIS Maps SDK for .NET は、ArcGIS Maps SDKs for Native Apps のラインナップとして提供しており、現在 iOS 版として、ArcGIS Maps SDK for Swift (Beta)Android 版としては、ArcGIS Maps SDK for Kotlin (Beta) を提供しています。

サンプルアプリの実行

サンプルアプリの各機能は、以下の ArcGIS Maps SDK for .NET MAUI Samples から確認することもできます。

TakahiroKAMIYA_17-1677566077237.png

サンプルアプリの開発環境として、Visual Studio for Mac を使用して、アプリのビルドから物理デバイスでのデプロイまでを行いました。ArcGIS Maps SDK for .NET の開発環境や実行環境については、製品仕様の動作環境をご確認ください。

サンプルアプリは、GitHub で提供している arcgis-maps-sdk-dotnet-samples Git からクローンか、直接ダウンロードします。

TakahiroKAMIYA_18-1677566129260.png

サンプルアプリは、WPF WinUIUWP なども提供していますが、今回は、.NET MAUI を使用するため直接 src/MAUI/ArcGIS.Samples.Maui.sln のソリューションプログラムを Visual Studio for Mac で開きます。NuGet パッケージなど、依存関係のパッケージのインストールを行います。

画像2.png準備が整ったら、[Visual Studio for Mac] ツール バーで、デバッグ ターゲットを iOS シミュレーターから機種を選択して、 [再生] ボタンを押して iOS シミュレーターでアプリを起動します。iOS シミュレーターが起動して、サンプルアプリを確認することができます。同様に Android エミュレーターでも動作させることができます。Android エミュレーターは、Android デバイスマネージャーであらかじめデバイスを設定しておく必要があります。

画像1.png

ここまで、Visual Studio for Mac での iOS シミュレーターや Android エミュレーターでの起動方法を簡単に紹介してきましたが、Visual Studio for Mac のインストールやアプリのビルド等については、Microsoft Learn ページ .NET MAUI のドキュメントの「インストール」や「最初のアプリをビルドする」が参考になりました。

次に物理デバイスにデプロイをしていきます。

iOS の場合は、物理デバイスでアプリをテストするには、デバイスをプロビジョニングする必要があります。詳細は、.NET MAUI のドキュメント「iOS 用のデバイス プロビジョニング」が分かりやすく、ここでは簡単な手順のみを紹介します。

iOS では、デバイスにアプリをデプロイする前に、Apple の開発者プログラムのサブスクリプションが必要になります。Apple Developer Program、または、Apple Developer Enterprise Program のプログラムにアクセスしてプログラムに登録します。そうすることで、アプリの開発やテスト、配布などを行うことができます。

iOS デバイスをプロビジョニングする方法として、Visual Studio によって自動的に作成して管理する方法「自動プロビジョニング」と Apple Developer ポータルで作成して管理する「手動プロビジョニング」があります。

ここでは、推奨されている自動プロビジョニングで行いました。

ソリューション ウィンドウで、.NET MAUI アプリプロジェクトの Platform > iOS フォルダ から Info.plist ファイルを開きます。Info.plist エディターで、[ソース]ビューから[アプリケーション]ビューに変更します。

画像5.png[アプリケーション] ビューの [署名] セクションで、[自動プロビジョニング] を選択します。Apple アカウントでサイン インして、自動プロビジョニングを有効にするチームを選択してください。Visual Studio for Macがプロジェクトの自動プロビジョニングを試み、プロセスが正常に完了したかどうかを示します。

画像6.png

 ※ 自動プロビジョニングが失敗した場合は、[自動署名] ウィンドウにエラー理由が表示されます。

プロビジョニングを構成した後、アプリをデバイスにデプロイできるようになります。

[アプリケーション] ビューの [配置情報] セクションで、[デプロイ ターゲット] ドロップダウンを使用して、アプリでサポートされている最小 iOS バージョンに展開先を設定します。

画像7.png

 ※ 配置ターゲットの値は、[ビルド > ターゲット プラットフォーム] タブの [プロジェクトのプロパティ] ダイアログで定義されている [最小 iOS バージョン] の値と同じである必要があります。

iOS デバイスが USB または Wi-Fi 経由で Mac に接続されていることを確認します。 [Visual Studio for Mac] のツール バーで、デバッグ ターゲットが接続されている iOS デバイスに設定されていることを確認し、[再生] ボタンを押してデバイスでアプリを起動します。

TakahiroKAMIYA_19-1677567367507.png

 

 

 

 

 

 

 

 

 

物理デバイスにアプリがインストールされて以下のように確認することができます。

画像8.png

Android アプリをデプロイしてテストするには、デバイスで開発者モードと USB デバックを有効にして、デバイスを USB 経由でコンピューターに接続して行います。

デバイスの接続後は、[Visual Studio for Mac] ツール バーで、デバッグ ターゲットが接続されている Android デバイスに設定されていることを確認し、[再生] ボタンを押してデバイスでアプリを起動します。

物理デバイスにアプリがインストールされて以下のように確認することができます。以下は、MAUI Sample Find addressNavigate route のサンプルになります。

画像9.png

Android アプリのデプロイに関しての詳細は、.NET MAUI のドキュメントの「デバック用に Android デバイスを設定する」をご確認ください。

まとめ

今回は ArcGIS Maps SDK for .NET .NET MAUI を使用して、iOS Android の物理デバイスにアプリをデプロイするところまでを紹介しました。

ArcGIS Maps SDK for .NET は、WPF WinUIUWP にも対応しています。サンプルとして、WPF samplesWinUI samplesUWP samples も同じように提供していますので、ぜひこちらもお試しいただければと思います。

■関連リンク

 

 

 

 

Version history
Last update:
‎06-29-2023 05:39 PM
Updated by:
Contributors