Dela via


Skapa en Xamarin.iOS-app med Azure Mobile Apps

Not

Den här produkten har dragits tillbaka. En ersättning för projekt som använder .NET 8 eller senare finns i Community Toolkit Datasync-biblioteket.

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 Att göra-lista app 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 den här självstudien behöver du:

  • Visual Studio 2022 med följande arbetsbelastningar.
    • ASP.NET och webbutveckling
    • 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...>Komponenteroch installerar en iOS-simulator.
    • Följ guiden för att Par till Mac.

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

Ladda ned exempelappen

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

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

    Skärmbild av menyn Kod på GitHub.

  3. När nedladdningen är klar öppnar du mappen Downloads och letar reda på filen azure-mobile-apps-main.zip.

  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 exempel mapp i de extraherade filerna. Exemplet för snabbstarten heter TodoApp. Du kan öppna exemplet i Visual Studio genom att dubbelklicka på filen TodoApp.sln.

Skärmbild av utforskaren för lösningen.

Distribuera serverdelen till Azure

Not

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 även azure.yaml.
  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 kommandot azd env get-values för att se SQL-autentiseringsinformationen om du vill komma åt databasen direkt.

Om du har slutfört stegen med Azure Developer CLI gå 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 även azuredeploy.json.

  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 resursgruppen quickstart 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:

    Skärmbild av kommandoradsresultat.

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

Publicera tjänstkoden

Öppna TodoApp.sln i Visual Studio.

  1. I den högra rutan väljer du Solutions Explorer.

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

  3. På den översta menyn väljer du Build>Publish TodoAppService.NET6.

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

    Skärmbild av målmarkeringsfönstret.

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

    Skärmbild av det specifika målmarkeringsfönstret.

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

  7. Kontrollera att View är inställt på Resursgrupp.

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

    Skärmbild av fönstret för val av apptjänst.

  9. Välj Slutför.

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

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

    Skärmbild som visar konfigurationsvalet för S Q L-server.

  12. Välj Azure SQL Databaseoch välj sedan Nästa.

  13. Välj snabbstart databas och välj sedan Nästa.

    Skärmbild av databasvalsfönstret.

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

    Skärmbild av fönstret databasinställningar.

  15. Välj Slutför.

  16. Välj Stäng när du är klar.

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

    Skärmbild som visar publiceringsknappen.

  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:

    Skärmbild som visar webbläsarens utdata när tjänsten har publicerats.

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 skapades den Constants.cs filen åt dig och du kan hoppa över det här steget.

  1. Expandera projektet TodoApp.Data.

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

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

    Skärmbild av att lägga till filen Constants.cs i projektet.

  4. Öppna filen Constants.cs.example 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. Ersätt https://APPSERVICENAME.azurewebsites.net med tjänstens serverdels-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";
        }
    }
    

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

  7. Spara filen. (Ctrl-S).

Skapa och köra appen

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

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

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

    Skärmbild som visar hur du ställer in körningskonfigurationen för en Xamarin för i O S-app.

  4. Välj en lämplig iPhone-simulator (jag har valt en iPhone 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.

Skärmbild av den i O S-app som körs som visar att göra-listan.

Felsökning

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

Skärmbild av felmeddelandet när i O S-simulatorn startas.

Så här löser du det här problemet:

  • Inaktivera fjärrsimulatorn (verktyg/alternativ/iOS-inställningar/avmarkera Fjärrsimulator 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 Devolutions Remote Desktop Manager (snabb och det finns en kostnadsfri version tillgänglig) och VNC-klienter (långsammare och kostnadsfritt).
  • 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.