次の方法で共有


Azure Mobile Apps を使用して Xamarin.iOS アプリを構築する

手記

この製品は提供終了です。 .NET 8 以降を使用するプロジェクトの代わりに、Community Toolkit Datasync ライブラリを参照してください。

このチュートリアルでは、Xamarin.iOS と Azure モバイル アプリ バックエンドを使用して、クラウドベースのバックエンド サービスを iOS モバイル アプリに追加する方法について説明します。 新しいモバイル アプリ バックエンドと、Azure にアプリ データを格納する単純な Todo リスト アプリの両方を作成します。

Azure App Service の Mobile Apps 機能を使用する他の Xamarin.iOS チュートリアルの前に、このチュートリアルを完了する必要があります。

前提 条件

このチュートリアルを完了するには、次のものが必要です。

  • Visual Studio 2022 を次のワークロードで します。
    • ASP.NET と Web 開発
    • Azure 開発
    • .NET を使用したモバイル開発
  • Azure アカウント
  • Azure CLI
    • az login でサインインし、開始する前に適切なサブスクリプションを選択します。
  • (省略可能)Azure Developer CLI
  • 使用可能な Mac:
    • XCode インストールする
    • インストール後に Xcode を開き、必要なコンポーネントを追加できるようにします。
    • 開いたら、XCode Preferences...>Componentsを選択し、iOS シミュレーターをインストールします。
    • ガイドに従って、Macにペアリング します。

iOS バージョンをコンパイルするには、mac が必要です。

サンプル アプリをダウンロードする

  1. ブラウザーで azure-mobile-apps リポジトリ を開きます。

  2. [コード] ドロップダウンを開き、[ZIPのダウンロード] 選択します。

    GitHub の [コード] メニューのスクリーンショット。

  3. ダウンロードが完了したら、ダウンロード フォルダーを開き、azure-mobile-apps-main.zip ファイルを見つけます。

  4. ダウンロードしたファイルを右クリックし、[すべて展開]選択します。..します。

    必要に応じて、PowerShell を使用してアーカイブを展開できます。

    C:\Temp> Expand-Archive azure-mobile-apps-main.zip
    

サンプルは、抽出されたファイル内のフォルダー サンプルにあります。 クイック スタートのサンプルには、TodoAppという名前が付けられています。 Visual Studio でサンプルを開くには、TodoApp.sln ファイルをダブルクリックします。

ソリューションのエクスプローラーのスクリーンショット。

バックエンドを Azure にデプロイする

手記

別のクイック スタートからバックエンドを既にデプロイしている場合は、同じバックエンドを使用して、この手順をスキップできます。

バックエンド サービスをデプロイするには、次の手順を実行します。

  • Azure App Service と Azure SQL Database を Azure にプロビジョニングします。
  • Visual Studio を使用して、新しく作成した Azure App Service にサービス コードをデプロイします。

Azure Developer CLI を使用してすべての手順を完了する

TodoApp サンプルは、Azure Developer CLI をサポートするように構成されています。 すべての手順 (プロビジョニングとデプロイ) を完了するには:

  1. Azure Developer CLIをインストールします。
  2. ターミナルを開き、TodoApp.sln ファイルを含むフォルダーにディレクトリを変更します。 このディレクトリには、azure.yamlも含まれています。
  3. azd upを実行します。

Azure にまだサインインしていない場合は、ブラウザーが起動してサインインするように求められます。 その後、サブスクリプションと Azure リージョンを使用するように求められます。 その後、Azure Developer CLI によって必要なリソースがプロビジョニングされ、選択した Azure リージョンとサブスクリプションにサービス コードがデプロイされます。 最後に、Azure Developer CLI によって適切な Constants.cs ファイルが書き込まれます。

azd env get-values コマンドを実行すると、データベースに直接アクセスする必要がある場合に SQL 認証情報を確認できます。

Azure Developer CLI で手順を完了している場合は、次の手順に進 。 Azure Developer CLI を使用しない場合は、手動の手順に進みます。

Azure でリソースを作成します。

  1. ターミナルを開き、TodoApp.sln ファイルを含むフォルダーにディレクトリを変更します。 このディレクトリには、azuredeploy.jsonも含まれています。

  2. Azure CLI を使用してサインイン し、サブスクリプション を選択していることを確認します。

  3. 新しいリソース グループを作成します。

    az group create -l westus -g quickstart
    

    このコマンドは、quickstart リソース グループを米国西部リージョンに作成します。 リソースを作成できる場合は、必要な任意のリージョンを選択できます。 このチュートリアルで説明する場所は、必ず同じ名前とリージョンを使用してください。

  4. グループデプロイを使用してリソースを作成します。

    az deployment group create -g quickstart --template-file azuredeploy.json --parameters sqlPassword=MyPassword1234
    

    SQL 管理者パスワードの強力なパスワードを選択します。 後でデータベースにアクセスするときに必要になります。

  5. デプロイが完了したら、後で必要な重要な情報を保持するため、出力変数を取得します。

    az deployment group show -g quickstart -n azuredeploy --query properties.outputs
    

    出力例を次に示します。

    コマンド ラインの結果のスクリーンショット。

  6. 後で使用するために、出力内の各値を書き留めておきます。

サービス コードを発行する

Visual Studio で TodoApp.sln を開きます。

  1. 右側のウィンドウで、ソリューション エクスプローラーを選択します。

  2. プロジェクトを右クリックし、[スタートアップ プロジェクトとして設定] 選択します。

  3. 上部のメニューで、[ビルド][TodoAppService.NET6の発行] 選択します。

  4. [発行] ウィンドウで、[ターゲット: Azureを ] を選択し、[次へ]押します。

    ターゲット選択ウィンドウのスクリーンショット。

  5. [特定のターゲット] を選択します。Azure App Service (Windows)を し、[次へ]押します。

    特定のターゲット選択ウィンドウのスクリーンショット。

  6. 必要に応じて、サインインし、適切な サブスクリプション名選択します。

  7. 表示 がリソース グループに設定されていることを確認します。

  8. quickstart リソース グループを展開し、先ほど作成した App Service を選択します。

    App Service の選択ウィンドウのスクリーンショット。

  9. [完了]選択します。

  10. 発行プロファイルの作成プロセスが完了したら、[を閉じる] 選択します。

  11. サービスの依存関係 を見つけて、SQL Server データベースの横にある 3 つのドットを選択し、[接続選択します。

    S Q L サーバー構成の選択を示すスクリーンショット。

  12. [Azure SQL Database選択し、[次へ]選択します。

  13. クイック スタート データベースを選択し、[次 ] を選択します。

    データベース選択ウィンドウのスクリーンショット。

  14. デプロイの出力に含まれている SQL ユーザー名とパスワードを使用してフォームに入力し、[次へ]選択します。

    データベース設定ウィンドウのスクリーンショット。

  15. [完了]選択します。

  16. 完了したら 閉じる を選択します。

  17. [ の発行] を選択して、先ほど作成した Azure App Service にアプリを発行します。

    発行ボタンを示すスクリーンショット。

  18. バックエンド サービスが発行されると、ブラウザーが開きます。 URL に /tables/todoitem?ZUMO-API-VERSION=3.0.0 を追加します。

    サービスが発行された後のブラウザー出力を示すスクリーンショット。

サンプル アプリを構成する

クライアント アプリケーションは、バックエンドと通信できるように、バックエンドのベース URL を認識する必要があります。

azd up を使用してサービスをプロビジョニングおよびデプロイした場合は、Constants.cs ファイルが自動的に作成され、この手順は省略できます。

  1. TodoApp.Data プロジェクトを展開します。

  2. TodoApp.Data プロジェクトを右クリックし、[クラスの追加]>選択します。.

  3. 名前として「」と入力し、[の追加] 選択します。

    プロジェクトにConstants.cs ファイルを追加するスクリーンショット。

  4. Constants.cs.example ファイルを開き、内容をコピーします (Ctrl + A、Ctrl-C)。

  5. Constants.csに切り替え、すべてのテキスト (Ctrl-A) を強調表示し、サンプル ファイル (Ctrl-V) の内容を貼り付けます。

  6. https://APPSERVICENAME.azurewebsites.net をサービスのバックエンド URL に置き換えます。

    namespace TodoApp.Data
    {
        public static class Constants
        {
            /// <summary>
            /// The base URI for the Datasync service.
            /// </summary>
            public static string ServiceUri = "https://demo-datasync-quickstart.azurewebsites.net";
        }
    }
    

    サービスのバックエンド URL は、[発行] タブから取得できます。https URL を使用していることを確認します。

  7. ファイルを保存します。 (Ctrl-S).

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

  1. ソリューション エクスプローラーで、xamarin-native フォルダーを展開します。

  2. プロジェクトを右クリックし、[スタートアップ プロジェクトとして設定] 選択します。

  3. 上部のバーで、iPhone シミュレーター 構成 選択し、TodoApp.iOS ターゲットを選択します。

    Xamarin for i O S アプリの実行構成を設定する方法を示すスクリーンショット。

  4. 適切な iPhone シミュレーターを選択します (iOS 15.5 を実行している iPhone SE を選択しました)。

  5. F5 押して、プロジェクトをビルドして実行します。

アプリが起動すると、空のリストと、エミュレーターに項目を追加するためのテキスト ボックスが表示されます。 できます:

  • + ボタンを押して項目を追加します。
  • 完了したフラグを設定またはクリアする項目を選択します。
  • 更新アイコンを押して、サービスからデータを再読み込みします。

to do リストを示す実行中の i O S アプリのスクリーンショット。

トラブルシューティング

Visual Studio 2022 に付属するリモート シミュレーターは、XCode 13.3 と互換性がありません。 次のエラー メッセージが表示されます。

i O S シミュレーターを起動するときのエラー メッセージのスクリーンショット。

この問題を回避するには:

  • リモート シミュレーターを無効にします ([ツール]、[オプション]、[iOS 設定]、[リモート シミュレーター Windows] のチェック ボックスをオフにします)。 オフにすると、シミュレーターは Windows ではなく Mac で実行されます。 その後、Windows でデバッガーなどを使用しているときに、Mac 上でシミュレーターを直接操作できます。
  • 上記のようにリモート シミュレーターを無効にして、シミュレーターが Mac で実行されるようにします。 次に、リモート デスクトップ アプリを使用して、Windows から Mac デスクトップに接続します。 リモート デスクトップ オプションには、Devolutions Remote Desktop Manager (高速で無料のバージョンが利用可能) 、VNC クライアント (低速および無料) が含まれます。
  • シミュレーターの代わりに物理デバイスを使用してテストします。 無料プロビジョニング プロファイル を取得して、認証チュートリアルを完了できます。

次の手順

アプリに認証を追加 して、チュートリアルを続行します。