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.
- Logga in med
- (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
Öppna lagringsplatsen azure-mobile-apps i webbläsaren.
Öppna listrutan Code och välj sedan Ladda ned ZIP-.
När nedladdningen är klar öppnar du mappen Downloads och letar reda på filen
azure-mobile-apps-main.zip
.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
.
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):
- Installera Azure Developer CLI-.
- Öppna en terminal och ändra katalogen till mappen som innehåller
TodoApp.sln
-filen. Den här katalogen innehåller ävenazure.yaml
. - 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.
Öppna en terminal och ändra katalogen till mappen som innehåller
TodoApp.sln
-filen. Den här katalogen innehåller ävenazuredeploy.json
.Kontrollera att du har loggat in och valt en prenumeration med hjälp av Azure CLI.
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.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.
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:
Anteckna vart och ett av värdena i utdata för senare användning.
Publicera tjänstkoden
Öppna TodoApp.sln
i Visual Studio.
I den högra rutan väljer du Solutions Explorer.
Högerklicka på projektet
TodoAppService.NET6
och välj sedan Ange som startprojekt.På den översta menyn väljer du Build>Publish TodoAppService.NET6.
I fönstret Publicera väljer du Mål: Azureoch trycker sedan på Nästa.
Välj Specifikt mål: Azure App Service (Windows)och tryck sedan på Nästa.
Om det behövs loggar du in och väljer ett lämpligt Prenumerationsnamn.
Kontrollera att View är inställt på Resursgrupp.
Expandera resursgruppen
quickstart
och välj sedan den App Service som skapades tidigare.Välj Slutför.
När publiceringsprofilen har skapats väljer du Stäng.
Leta upp tjänstberoenden och välj trippelpunkterna bredvid SQL Server Database och välj sedan Anslut.
Välj Azure SQL Databaseoch välj sedan Nästa.
Välj snabbstart databas och välj sedan Nästa.
Fyll i formuläret med det SQL-användarnamn och lösenord som fanns i distributionens utdata och välj sedan Nästa.
Välj Slutför.
Välj Stäng när du är klar.
Välj Publicera för att publicera din app till Azure App Service som du skapade tidigare.
När serverdelstjänsten har publicerats öppnas en webbläsare. Lägg till
/tables/todoitem?ZUMO-API-VERSION=3.0.0
i URL:en:
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 denConstants.cs
filen åt dig och du kan hoppa över det här steget.
Expandera projektet
TodoApp.Data
.Högerklicka på projektet
TodoApp.Data
och välj sedan Lägg till>klass....Ange
Constants.cs
som namn och välj sedan Lägg till.Öppna filen
Constants.cs.example
och kopiera innehållet (Ctrl-A, följt av Ctrl-C).Växla till
Constants.cs
, markera all text (Ctrl-A) och klistra sedan in innehållet från exempelfilen (Ctrl-V).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.
Spara filen. (Ctrl-S).
Skapa och köra appen
Expandera mappen
xamarin-native
i lösningsutforskaren.Högerklicka på projektet
TodoApp.iOS
och välj Ange som startprojekt.I det övre fältet väljer du iPhone Simulator konfiguration och TodoApp.iOS- mål:
Välj en lämplig iPhone-simulator (jag har valt en iPhone SE som kör iOS 15.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.
Felsökning
Fjärrsimulatorn som levereras med Visual Studio 2022 är inte kompatibel med XCode 13.3. Du får följande felmeddelande:
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.