Freigeben über


Erstellen einer Xamarin.iOS-App mit Azure Mobile Apps

Anmerkung

Dieses Produkt wird eingestellt. Eine Ersetzung für Projekte mit .NET 8 oder höher finden Sie in der Community Toolkit Datasync-Bibliothek.

In diesem Lernprogramm erfahren Sie, wie Sie mithilfe von Xamarin.iOS und einem Mobilen Azure-Apps-Back-End einen cloudbasierten Back-End-Dienst zu einer mobilen iOS-App hinzufügen. Sie erstellen sowohl ein neues mobiles App-Back-End als auch eine einfache Todo-Liste App, die App-Daten in Azure speichert.

Sie müssen dieses Lernprogramm vor anderen Xamarin.iOS-Lernprogrammen mit dem Feature "Mobile Apps" in Azure App Service abschließen.

Voraussetzungen

Um dieses Lernprogramm abzuschließen, benötigen Sie Folgendes:

  • Visual Studio 2022- mit den folgenden Workloads.
    • ASP.NET und Webentwicklung
    • Azure-Entwicklung
    • Mobile Entwicklung mit .NET
  • Ein Azure-Konto.
  • Die Azure CLI.
    • Melden Sie sich mit az login an, und wählen Sie vor dem Start ein entsprechendes Abonnement aus.
  • (Optional) Die Azure Developer CLI.
  • Ein verfügbarer Mac:
    • Installieren XCode-
    • Öffnen Sie Xcode nach der Installation, damit sie zusätzliche erforderliche Komponenten hinzufügen kann.
    • Wählen Sie nach dem Öffnen XCode-Einstellungen...>Komponentenaus, und installieren Sie einen iOS-Simulator.
    • Folgen Sie der Anleitung, um Paar zu Mac.

Zum Kompilieren der iOS-Version ist ein Mac erforderlich.

Herunterladen der Beispiel-App

  1. Öffnen Sie das Azure-Mobile-Apps-Repository in Ihrem Browser.

  2. Öffnen Sie die Dropdownliste Code, und wählen Sie dann ZIP-herunterladen aus.

    Screenshot des Menüs

  3. Sobald der Download abgeschlossen ist, öffnen Sie Ihre Downloads Ordner, und suchen Sie die azure-mobile-apps-main.zip Datei.

  4. Klicken Sie mit der rechten Maustaste auf die heruntergeladene Datei, und wählen Sie Alle extrahieren...aus.

    Wenn Sie es vorziehen, können Sie PowerShell verwenden, um das Archiv zu erweitern:

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

Die Beispiele befinden sich in den Beispielen Ordners in den extrahierten Dateien. Das Beispiel für den Schnellstart heißt TodoApp. Sie können das Beispiel in Visual Studio öffnen, indem Sie auf die TodoApp.sln Datei doppelklicken.

Screenshot des Datei-Explorers für die Projektmappe.

Bereitstellen des Back-Ends in Azure

Anmerkung

Wenn Sie das Back-End bereits aus einem anderen Schnellstart bereitgestellt haben, können Sie dasselbe Back-End verwenden und diesen Schritt überspringen.

Zur Bereitstellung des Back-End-Diensts führen wir folgende Schritte aus:

  • Bereitstellen einer Azure App Service- und Azure SQL-Datenbank für Azure.
  • Verwenden Sie Visual Studio, um den Dienstcode für den neu erstellten Azure App Service bereitzustellen.

Verwenden der Azure Developer CLI, um alle Schritte auszuführen

Das TodoApp-Beispiel ist für die Unterstützung der Azure Developer CLI konfiguriert. So führen Sie alle Schritte aus (Bereitstellung und Bereitstellung):

  1. Installieren Sie die Azure Developer CLI.
  2. Öffnen Sie ein Terminal, und ändern Sie das Verzeichnis in den Ordner, der die TodoApp.sln Datei enthält. Dieses Verzeichnis enthält auch azure.yaml.
  3. Führen Sie azd upaus.

Wenn Sie noch nicht bei Azure angemeldet sind, wird der Browser gestartet, um Sie aufzufordern, sich anzumelden. Sie werden dann aufgefordert, ein Abonnement und eine Azure-Region zu verwenden. Die Azure Developer CLI stellt dann die erforderlichen Ressourcen bereit und stellt den Dienstcode in der Azure-Region und im Abonnement Ihrer Wahl bereit. Schließlich schreibt die Azure Developer CLI eine entsprechende Constants.cs Datei für Sie.

Sie können den Befehl azd env get-values ausführen, um die SQL-Authentifizierungsinformationen anzuzeigen, wenn Sie direkt auf die Datenbank zugreifen möchten.

Wenn Sie die Schritte mit der Azure Developer CLI abgeschlossen haben, fahren Sie mit dem nächsten Schrittfort. Wenn Sie die Azure Developer CLI nicht verwenden möchten, fahren Sie mit den manuellen Schritten fort.

Erstellen Sie Ressourcen in Azure.

  1. Öffnen Sie ein Terminal, und ändern Sie das Verzeichnis in den Ordner, der die TodoApp.sln Datei enthält. Dieses Verzeichnis enthält auch azuredeploy.json.

  2. Stellen Sie sicher, dass Sie angemeldet und ein Abonnement ausgewählt haben, mit der Azure CLI.

  3. Erstellen sie eine neue Ressourcengruppe:

    az group create -l westus -g quickstart
    

    Mit diesem Befehl wird die ressourcengruppe quickstart in der Region West-USA erstellt. Sie können eine beliebige Region auswählen, sodass Sie dort Ressourcen erstellen können. Stellen Sie sicher, dass Sie in diesem Lernprogramm denselben Namen und dieselbe Region verwenden.

  4. Erstellen Sie die Ressourcen mithilfe einer Gruppenbereitstellung:

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

    Wählen Sie ein sicheres Kennwort für Ihr SQL-Administratorkennwort aus. Sie benötigen sie später beim Zugriff auf die Datenbank.

  5. Sobald die Bereitstellung abgeschlossen ist, rufen Sie die Ausgabevariablen ab, da diese wichtigen Informationen enthalten, die Sie später benötigen:

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

    Eine Beispielausgabe ist:

    Screenshot der Befehlszeilenergebnisse.

  6. Notieren Sie sich die einzelnen Werte in den Ausgaben für die spätere Verwendung.

Veröffentlichen des Dienstcodes

Öffnen Sie die TodoApp.sln in Visual Studio.

  1. Wählen Sie im rechten Bereich den Projektmappen-Exploreraus.

  2. Klicken Sie mit der rechten Maustaste auf das TodoAppService.NET6 Projekt, und wählen Sie dann Als Startprojekt festlegenaus.

  3. Wählen Sie im oberen Menü Build>Publish TodoAppService.NET6aus.

  4. Wählen Sie im Fenster Veröffentlichen Ziel: Azureaus, und drücken Sie dann Weiter.

    Screenshot des Zielauswahlfensters.

  5. Wählen Sie ein bestimmtes Ziel aus: Azure App Service (Windows), und drücken Sie dann Weiter.

    Screenshot des spezifischen Zielauswahlfensters.

  6. Melden Sie sich bei Bedarf an, und wählen Sie einen geeigneten Abonnementnamenaus.

  7. Stellen Sie sicher, dass Ansicht auf Ressourcengruppefestgelegt ist.

  8. Erweitern Sie die Ressourcengruppe quickstart, und wählen Sie dann den zuvor erstellten App-Dienst aus.

    Screenshot des App-Dienstauswahlfensters.

  9. Wählen Sie Endeaus.

  10. Nachdem der Erstellungsprozess des Veröffentlichungsprofils abgeschlossen ist, wählen Sie Schließenaus.

  11. Suchen Sie die Dienstabhängigkeiten und wählen Sie die dreifachen Punkte neben der SQL Server-Datenbank aus, und wählen Sie dann Verbindenaus.

    Screenshot mit der Konfiguration der S Q L-Serverauswahl.

  12. Wählen Sie Azure SQL-Datenbank-aus, und wählen Sie dann Weiteraus.

  13. Wählen Sie die Schnellstart- Datenbank aus, und wählen Sie dann Weiteraus.

    Screenshot des Datenbankauswahlfensters.

  14. Füllen Sie das Formular mithilfe des SQL-Benutzernamens und des Kennworts aus, das sich in den Ausgaben der Bereitstellung befand, und wählen Sie dann Nextaus.

    Screenshot des Datenbankeinstellungsfensters.

  15. Wählen Sie Endeaus.

  16. Wählen Sie nach Abschluss schließen aus.

  17. Wählen Sie Veröffentlichen aus, um Ihre App im zuvor erstellten Azure App Service zu veröffentlichen.

    Screenshot mit der Schaltfläche

  18. Sobald der Back-End-Dienst veröffentlicht wurde, wird ein Browser geöffnet. Fügen Sie der URL /tables/todoitem?ZUMO-API-VERSION=3.0.0 hinzu:

    Screenshot mit der Browserausgabe nach der Veröffentlichung des Diensts.

Konfigurieren der Beispiel-App

Ihre Clientanwendung muss die Basis-URL Ihres Back-End kennen, damit sie mit ihr kommunizieren kann.

Wenn Sie azd up zum Bereitstellen und Bereitstellen des Diensts verwendet haben, wurde die Constants.cs Datei für Sie erstellt, und Sie können diesen Schritt überspringen.

  1. Erweitern Sie das TodoApp.Data Projekt.

  2. Klicken Sie mit der rechten Maustaste auf das TodoApp.Data Projekt, und wählen Sie dann Klasse>hinzufügen....

  3. Geben Sie Constants.cs als Namen ein, und wählen Sie dann Hinzufügenaus.

    Screenshot zum Hinzufügen der Constants.cs Datei zum Projekt.

  4. Öffnen Sie die Constants.cs.example Datei, und kopieren Sie den Inhalt (STRG-A, gefolgt von Ctrl-C).

  5. Wechseln Sie zu Constants.cs, markieren Sie den gesamten Text (Ctrl-A), und fügen Sie dann den Inhalt aus der Beispieldatei (Ctrl-V) ein.

  6. Ersetzen Sie die https://APPSERVICENAME.azurewebsites.net durch die Back-End-URL Ihres Diensts.

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

    Sie können die Back-End-URL Ihres Diensts über die Registerkarte Veröffentlichen abrufen. Stellen Sie sicher, dass Sie eine https URL verwenden.

  7. Speichern Sie die Datei. (Ctrl-S).

Erstellen und Ausführen der App

  1. Erweitern Sie im Projektmappen-Explorer den Ordner xamarin-native.

  2. Klicken Sie mit der rechten Maustaste auf das TodoApp.iOS Projekt, und wählen Sie Als Startprojekt festlegenaus.

  3. Wählen Sie in der oberen Leiste iPhone Simulator Konfiguration und das TodoApp.iOS Ziel aus:

    Screenshot, der zeigt, wie die Ausführungskonfiguration für eine Xamarin für i O S-App festgelegt wird.

  4. Wählen Sie einen geeigneten iPhone Simulator (ich habe ein iPhone SE mit iOS 15.5 ausgewählt).

  5. Drücken Sie F5-, um das Projekt zu erstellen und auszuführen.

Nachdem die App gestartet wurde, wird eine leere Liste und ein Textfeld zum Hinzufügen von Elementen im Emulator angezeigt. Sie können:

  • Drücken Sie die Schaltfläche +, um ein Element hinzuzufügen.
  • Wählen Sie ein Element aus, um das fertige Kennzeichen festzulegen oder zu löschen.
  • Drücken Sie das Aktualisierungssymbol, um Daten aus dem Dienst neu zu laden.

Screenshot der ausgeführten i O S-App mit der Aufgabenliste.

Fehlerbehebung

Der Remotesimulator, der im Lieferumfang von Visual Studio 2022 enthalten ist, ist mit XCode 13.3 nicht kompatibel. Die folgende Fehlermeldung wird angezeigt:

Screenshot der Fehlermeldung beim Starten des i O S-Simulators.

Gehen Sie wie folgt vor, um dieses Problem zu umgehen:

  • Deaktivieren Sie den Remotesimulator (Extras / Optionen / iOS-Einstellungen / deaktivieren Sie Remotesimulator auf Windows). Wenn die Option deaktiviert ist, wird der Simulator auf dem Mac anstelle von Windows ausgeführt. Sie können dann direkt auf Ihrem Mac mit dem Simulator interagieren, während Sie den Debugger usw. unter Windows verwenden.
  • Deaktivieren Sie den Remotesimulator wie oben, damit der Simulator auf dem Mac ausgeführt wird. Verwenden Sie dann eine Remotedesktop-App, um über Windows eine Verbindung mit dem Mac-Desktop herzustellen. Remotedesktopoptionen umfassen Devolutions Remote Desktop Manager (schnell und es gibt eine kostenlose Version verfügbar), und VNC-Clients (langsamer und kostenlos).
  • Verwenden Sie ein physisches Gerät, um anstelle des Simulators zu testen. Sie können ein kostenloses Bereitstellungsprofil abrufen, um das Authentifizierungslernprogramm abzuschließen.

Nächste Schritte

Fahren Sie mit dem Lernprogramm fort, indem Sie der App die Authentifizierung hinzufügen.