Skapa en Xamarin.iOS-app med Azure Mobile Apps

Den här självstudien visar hur du lägger till en molnbaserad serverdelstjänst i en iOS-mobilapp med hjälp av Xamarin.iOS och en Azure-mobilappsserverdel. Du skapar både en ny mobilappsserverdel och en enkel Todo-listapp som lagrar appdata i Azure.

Du måste slutföra den här självstudien innan andra Xamarin.iOS-självstudier med hjälp av mobile apps-funktionen i Azure App Service.

Förutsättningar

För att slutföra självstudierna behöver du:

  • Visual Studio 2022 med följande arbetsbelastningar.
    • ASP.NET- och webbutveckling
    • Azure development (Azure-utveckling)
    • Mobil utveckling med .NET
  • Ett Azure-konto.
  • Azure CLI.
    • Logga in med az login och välj en lämplig prenumeration innan du börjar.
  • (Valfritt) Azure Developer CLI.
  • En tillgänglig Mac:
    • Installera XCode
    • Öppna Xcode efter installationen så att det kan lägga till eventuella extra nödvändiga komponenter.
    • När du har öppnat väljer du XCode-inställningar...>Komponenter och installera en iOS-simulator.
    • Följ guiden till Parkoppla till Mac.

En mac krävs för att kompilera iOS-versionen.

Ladda ned exempelprogrammet

  1. Öppna lagringsplatsen azure-mobile-apps i webbläsaren.

  2. Öppna listrutan Kod och välj sedan Ladda ned ZIP.

    Screenshot of the Code menu on GitHub.

  3. När nedladdningen är klar öppnar du mappen Nedladdningar och letar upp azure-mobile-apps-main.zip filen.

  4. Högerklicka på den nedladdade filen och välj Extrahera alla....

    Om du vill kan du använda PowerShell för att expandera arkivet:

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

Exemplen finns i exempelmappen i de extraherade filerna. Exemplet för snabbstarten heter TodoApp. Du kan öppna exemplet i Visual Studio genom att TodoApp.sln dubbelklicka på filen.

Screenshot of the file explorer for the solution.

Distribuera serverdelen till Azure

Kommentar

Om du redan har distribuerat serverdelen från en annan snabbstart kan du använda samma serverdel och hoppa över det här steget.

För att distribuera serverdelstjänsten gör vi följande:

  • Etablera en Azure App Service och Azure SQL Database till Azure.
  • Använd Visual Studio för att distribuera tjänstkoden till den nyligen skapade Azure App Service.

Använd Azure Developer CLI för att slutföra alla steg

TodoApp-exemplet har konfigurerats för att stödja Azure Developer CLI. Så här slutför du alla steg (etablering och distribution):

  1. Installera Azure Developer CLI.
  2. Öppna en terminal och ändra katalogen till mappen som innehåller TodoApp.sln filen. Den här katalogen innehåller azure.yamlockså .
  3. Kör azd up.

Om du inte redan är inloggad i Azure startas webbläsaren för att be dig logga in. Du uppmanas sedan att använda en prenumeration och En Azure-region. Azure Developer CLI etablerar sedan nödvändiga resurser och distribuerar tjänstkoden till den Azure-region och prenumeration som du väljer. Slutligen skriver Azure Developer CLI en lämplig Constants.cs fil åt dig.

Du kan köra azd env get-values kommandot för att se SQL-autentiseringsinformationen om du vill komma åt databasen direkt.

Om du har slutfört stegen med Azure Developer CLI går du vidare till nästa steg. Om du inte vill använda Azure Developer CLI fortsätter du med de manuella stegen.

Skapa resurser i Azure.

  1. Öppna en terminal och ändra katalogen till mappen som innehåller TodoApp.sln filen. Den här katalogen innehåller azuredeploy.jsonockså .

  2. Kontrollera att du har loggat in och valt en prenumeration med hjälp av Azure CLI.

  3. Skapa en ny resursgrupp:

    az group create -l westus -g quickstart
    

    Det här kommandot skapar quickstart resursgruppen i regionen USA, västra. Du kan välja vilken region du vill, förutsatt att du kan skapa resurser där. Se till att du använder samma namn och region oavsett var de nämns i den här självstudien.

  4. Skapa resurserna med hjälp av en gruppdistribution:

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

    Välj ett starkt lösenord för ditt SQL-administratörslösenord. Du behöver det senare när du kommer åt databasen.

  5. När distributionen är klar hämtar du utdatavariablerna eftersom dessa innehåller viktig information som du behöver senare:

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

    Ett exempel på utdata är:

    Screenshot of command line results.

  6. Anteckna vart och ett av värdena i utdata för senare användning.

Publicera tjänstkoden

TodoApp.sln Öppna i Visual Studio.

  1. I den högra rutan väljer du Lösningsutforskaren.

  2. Högerklicka på TodoAppService.NET6 projektet och välj sedan Ange som startprojekt.

  3. På den översta menyn väljer du Skapa>Publicera TodoAppService.NET6.

  4. I fönstret Publicera väljer du Mål: Azure och trycker sedan på Nästa.

    Screenshot of the target selection window.

  5. Välj Specifikt mål: Azure App Service (Windows) och tryck sedan på Nästa.

    Screenshot of the specific target selection window.

  6. Om det behövs loggar du in och väljer ett lämpligt prenumerationsnamn.

  7. Kontrollera att vyn är inställd på Resursgrupp.

  8. quickstart Expandera resursgruppen och välj sedan den App Service som skapades tidigare.

    Screenshot of the app service selection window.

  9. Välj Slutför.

  10. När publiceringsprofilen har skapats väljer du Stäng.

  11. Leta upp tjänstberoenden och välj tre punkter bredvid SQL Server Database och välj sedan Anslut.

    Screenshot showing the S Q L server configuration selection.

  12. Välj Azure SQL Database och välj sedan Nästa.

  13. Välj snabbstartsdatabasen och välj sedan Nästa.

    Screenshot of the database selection window.

  14. Fyll i formuläret med det SQL-användarnamn och lösenord som fanns i distributionens utdata och välj sedan Nästa.

    Screenshot of the database settings window.

  15. Välj Slutför.

  16. Välj Stäng när det är klart.

  17. Välj Publicera för att publicera din app till Azure App Service som du skapade tidigare.

    Screenshot showing the publish button.

  18. När serverdelstjänsten har publicerats öppnas en webbläsare. Lägg till /tables/todoitem?ZUMO-API-VERSION=3.0.0 i URL:en:

    Screenshot showing the browser output after the service is published.

Konfigurera exempelappen

Klientprogrammet måste känna till bas-URL:en för serverdelen så att den kan kommunicera med den.

Om du använde azd up för att etablera och distribuera tjänsten Constants.cs skapades filen åt dig och du kan hoppa över det här steget.

  1. TodoApp.Data Expandera projektet.

  2. Högerklicka på TodoApp.Data projektet och välj sedan Lägg till>klass....

  3. Ange Constants.cs som namn och välj sedan Lägg till.

    Screenshot of adding the Constants.cs file to the project.

  4. Constants.cs.example Öppna filen och kopiera innehållet (Ctrl-A, följt av Ctrl-C).

  5. Växla till Constants.cs, markera all text (Ctrl-A) och klistra sedan in innehållet från exempelfilen (Ctrl-V).

  6. https://APPSERVICENAME.azurewebsites.net Ersätt med serverdels-URL:en för din tjänst.

    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";
        }
    }
    

    Du kan hämta tjänstens serverdels-URL från fliken Publicera . Kontrollera att du använder en https-URL .

  7. Spara filen. (Ctrl-S).

Kompilera och köra appen

  1. Expandera mappen i lösningsutforskaren xamarin-native .

  2. Högerklicka på TodoApp.iOS projektet och välj Ange som startprojekt.

  3. I det övre fältet väljer du i Telefon Simulator-konfiguration och TodoApp.iOS-målet:

    Screenshot showing how to set the run configuration for a Xamarin for i O S app.

  4. Välj en lämplig i Telefon-simulator (jag har valt en i Telefon SE som kör iOS 15.5).

  5. Tryck på F5 för att skapa och köra projektet.

När appen har startat visas en tom lista och en textruta för att lägga till objekt i emulatorn. Du kan:

  • Tryck på + knappen för att lägga till ett objekt.
  • Välj ett objekt för att ange eller rensa den slutförda flaggan.
  • Tryck på uppdateringsikonen för att läsa in data från tjänsten igen.

Screenshot of the running i O S app showing the to do list.

Felsökning

Fjärrsimulatorn som levereras med Visual Studio 2022 är inte kompatibel med XCode 13.3. Du får följande felmeddelande:

Screenshot of the error message when launching the i O S simulator.

Så här kan du lösa problemet:

  • Inaktivera fjärrsimulatorn (verktyg/alternativ/iOS-Inställningar/avmarkera Fjärrsimulatorn till Windows). När den är avmarkerad körs simulatorn på Mac-datorn i stället för i Windows. Du kan sedan interagera med simulatorn direkt på din Mac när du använder felsökningsprogrammet osv. i Windows.
  • Inaktivera fjärrsimulatorn enligt ovan, så att simulatorn körs på Mac. Använd sedan en fjärrskrivbordsapp för att ansluta till Mac Desktop från Windows. Alternativen för fjärrskrivbord omfattar decentraliseringar i Fjärrskrivbordshanteraren (snabb och det finns en kostnadsfri version tillgänglig) och VNC-klienter (långsammare och kostnadsfria).
  • Använd en fysisk enhet för att testa i stället för simulatorn. Du kan hämta en kostnadsfri etableringsprofil för att slutföra autentiseringsguiden.

Nästa steg

Fortsätt självstudien genom att lägga till autentisering i appen.