Udostępnij za pośrednictwem


Tworzenie aplikacji platformy Xamarin.iOS za pomocą usługi Azure Mobile Apps

Nuta

Ten produkt jest wycofany. Aby zastąpić projekty przy użyciu platformy .NET 8 lub nowszej, zobacz bibliotekę datasync zestawu narzędzi Community Toolkit.

W tym samouczku pokazano, jak dodać usługę zaplecza opartą na chmurze do aplikacji mobilnej systemu iOS przy użyciu platformy Xamarin.iOS i zaplecza aplikacji mobilnych platformy Azure. Utworzysz zarówno nowe zaplecze aplikacji mobilnej, jak i prostą listę zadań do wykonania aplikację, która przechowuje dane aplikacji na platformie Azure.

Ten samouczek należy wykonać przed innymi samouczkami platformy Xamarin.iOS przy użyciu funkcji Mobile Apps w usłudze Azure App Service.

Warunki wstępne

Do ukończenia tego samouczka potrzebne są następujące elementy:

  • programu Visual Studio 2022 z następującymi obciążeniami.
    • ASP.NET i tworzenie aplikacji internetowych
    • Programowanie na platformie Azure
    • Programowanie aplikacji mobilnych za pomocą platformy .NET
  • Konto platformy Azure .
  • Interfejs wiersza polecenia platformy Azure .
    • Zaloguj się przy użyciu az login i wybierz odpowiednią subskrypcję przed rozpoczęciem.
  • (Opcjonalnie) Interfejs wiersza polecenia dewelopera platformy Azure .
  • Dostępny komputer Mac:
    • Instalowanie XCode
    • Otwórz program Xcode po zainstalowaniu, aby można było dodać dodatkowe wymagane składniki.
    • Po otwarciu wybierz pozycję preferencje programu XCode...>Componentsi zainstaluj symulator systemu iOS.
    • Postępuj zgodnie z przewodnikiem Pair to Mac.

Do skompilowania wersji systemu iOS wymagany jest komputer Mac.

Pobieranie przykładowej aplikacji

  1. Otwórz repozytorium azure-mobile-apps w przeglądarce.

  2. Otwórz listę rozwijaną Kod , a następnie wybierz pozycję Pobierz plik ZIP.

    zrzut ekranu przedstawiający menu Kod w witrynie GitHub.

  3. Po zakończeniu pobierania otwórz folder Pobrane i znajdź plik azure-mobile-apps-main.zip.

  4. Kliknij prawym przyciskiem myszy pobrany plik, a następnie wybierz pozycję Wyodrębnij wszystko....

    Jeśli wolisz, możesz użyć programu PowerShell, aby rozwinąć archiwum:

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

Przykłady znajdują się w folderze przykładów w wyodrębnionych plikach. Przykład dla przewodnika Szybki start nosi nazwę TodoApp. Przykład można otworzyć w programie Visual Studio, klikając dwukrotnie plik TodoApp.sln.

Zrzut ekranu przedstawiający eksploratora plików dla rozwiązania.

Wdrażanie zaplecza na platformie Azure

Nuta

Jeśli zaplecze zostało już wdrożone z innego przewodnika Szybki start, możesz użyć tego samego zaplecza i pominąć ten krok.

Aby wdrożyć usługę zaplecza, wykonamy następujące kroki:

  • Aprowizuj usługę Azure App Service i usługę Azure SQL Database na platformie Azure.
  • Użyj programu Visual Studio, aby wdrożyć kod usługi w nowo utworzonej usłudze Azure App Service.

Wykonaj wszystkie kroki za pomocą interfejsu wiersza polecenia dla deweloperów platformy Azure

Przykład aplikacji TodoApp jest skonfigurowany do obsługi interfejsu wiersza polecenia dla deweloperów platformy Azure. Aby wykonać wszystkie kroki (aprowizowanie i wdrażanie):

  1. Zainstaluj interfejs wiersza polecenia dewelopera platformy Azure.
  2. Otwórz terminal i zmień katalog na folder zawierający plik TodoApp.sln. Ten katalog zawiera również azure.yaml.
  3. Uruchom azd up.

Jeśli jeszcze nie zalogowałeś się na platformie Azure, przeglądarka zostanie uruchomiona, aby poprosić Cię o zalogowanie. Następnie zostanie wyświetlony monit o użycie subskrypcji i regionu platformy Azure. Następnie interfejs wiersza polecenia dla deweloperów platformy Azure aprowizuje niezbędne zasoby i wdraża kod usługi w wybranym regionie i subskrypcji platformy Azure. Na koniec interfejs wiersza polecenia dewelopera platformy Azure zapisuje odpowiedni plik Constants.cs.

Możesz uruchomić polecenie azd env get-values, aby wyświetlić informacje o uwierzytelnianiu SQL, jeśli chcesz uzyskać bezpośredni dostęp do bazy danych.

Jeśli wykonano kroki z interfejsem wiersza polecenia dla deweloperów platformy Azure, przejść do następnego kroku. Jeśli nie chcesz używać interfejsu wiersza polecenia dla deweloperów platformy Azure, wykonaj kroki ręczne.

Tworzenie zasobów na platformie Azure.

  1. Otwórz terminal i zmień katalog na folder zawierający plik TodoApp.sln. Ten katalog zawiera również azuredeploy.json.

  2. Upewnij się, że zalogować się i wybrać subskrypcję przy użyciu interfejsu wiersza polecenia platformy Azure.

  3. Utwórz nową grupę zasobów:

    az group create -l westus -g quickstart
    

    To polecenie tworzy grupę zasobów quickstart w regionie Zachodnie stany USA. Możesz wybrać dowolny region, pod warunkiem, że możesz tam utworzyć zasoby. Upewnij się, że używasz tej samej nazwy i regionu, gdziekolwiek wspomniano w tym samouczku.

  4. Utwórz zasoby przy użyciu wdrożenia grupy:

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

    Wybierz silne hasło dla hasła administratora SQL. Będzie ona potrzebna później podczas uzyskiwania dostępu do bazy danych.

  5. Po zakończeniu wdrażania pobierz zmienne wyjściowe, ponieważ zawierają one ważne informacje potrzebne później:

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

    Przykładowe dane wyjściowe to:

    Zrzut ekranu przedstawiający wyniki wiersza polecenia.

  6. Zanotuj wszystkie wartości w danych wyjściowych do późniejszego użycia.

Publikowanie kodu usługi

Otwórz TodoApp.sln w programie Visual Studio.

  1. W okienku po prawej stronie wybierz eksploratora rozwiązań .

  2. Kliknij prawym przyciskiem myszy projekt TodoAppService.NET6, a następnie wybierz pozycję Ustaw jako projekt startowy.

  3. W górnym menu wybierz pozycję Build>Publish TodoAppService.NET6.

  4. W oknie Publikowanie wybierz pozycję Cel: Azure, a następnie naciśnij przycisk Dalej.

    Zrzut ekranu przedstawiający okno wyboru docelowego.

  5. Wybierz pozycję Określony element docelowy: usługi Azure App Service (Windows), a następnie naciśnij przycisk Dalej.

    Zrzut ekranu przedstawiający okno wyboru określonego miejsca docelowego.

  6. W razie potrzeby zaloguj się i wybierz odpowiednią nazwę subskrypcji .

  7. Upewnij się, że widok jest ustawiona na grupa zasobów.

  8. Rozwiń quickstart grupę zasobów, a następnie wybierz utworzoną wcześniej usługę App Service.

    Zrzut ekranu przedstawiający okno wyboru usługi App Service.

  9. Wybierz pozycję Zakończ.

  10. Po zakończeniu procesu tworzenia profilu publikowania wybierz pozycję Zamknij.

  11. Znajdź zależności usługi i wybierz potrójne kropki obok bazy danych programu SQL Server, a następnie wybierz pozycję Połącz.

    Zrzut ekranu przedstawiający wybór konfiguracji serwera S Q L.

  12. Wybierz pozycję Azure SQL Database, a następnie wybierz pozycję Dalej.

  13. Wybierz bazę danych szybki start, a następnie wybierz pozycję Dalej.

    Zrzut ekranu przedstawiający okno wyboru bazy danych.

  14. Wypełnij formularz przy użyciu nazwy użytkownika i hasła SQL, które znajdowały się w danych wyjściowych wdrożenia, a następnie wybierz pozycję Dalej.

    Zrzut ekranu przedstawiający okno ustawień bazy danych.

  15. Wybierz pozycję Zakończ.

  16. Po zakończeniu wybierz pozycję Zamknij.

  17. Wybierz pozycję Publikuj, aby opublikować aplikację w utworzonej wcześniej usłudze Azure App Service.

    Zrzut ekranu przedstawiający przycisk publikuj.

  18. Po opublikowaniu usługi zaplecza zostanie otwarta przeglądarka. Dodaj /tables/todoitem?ZUMO-API-VERSION=3.0.0 do adresu URL:

    Zrzut ekranu przedstawiający dane wyjściowe przeglądarki po opublikowaniu usługi.

Konfigurowanie przykładowej aplikacji

Aplikacja kliencka musi znać podstawowy adres URL zaplecza, aby mogła się z nią komunikować.

Jeśli użyto azd up do aprowizowania i wdrażania usługi, plik Constants.cs został utworzony i możesz pominąć ten krok.

  1. Rozwiń projekt TodoApp.Data.

  2. Kliknij prawym przyciskiem myszy projekt TodoApp.Data, a następnie wybierz pozycję Dodaj klasę>....

  3. Wprowadź Constants.cs jako nazwę, a następnie wybierz pozycję Dodaj.

    Zrzut ekranu przedstawiający dodawanie pliku Constants.cs do projektu.

  4. Otwórz plik Constants.cs.example i skopiuj zawartość (Ctrl-A, a następnie Ctrl-C).

  5. Przełącz się na Constants.cs, wyróżnij cały tekst (Ctrl-A), a następnie wklej zawartość z przykładowego pliku (Ctrl-V).

  6. Zastąp https://APPSERVICENAME.azurewebsites.net adresem URL zaplecza usługi.

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

    Adres URL zaplecza usługi można uzyskać z karty Publikowanie . Upewnij się, że używasz adresu URL https.

  7. Zapisz plik. (Ctrl-S).

Kompilowanie i uruchamianie aplikacji

  1. W Eksploratorze rozwiązań rozwiń folder xamarin-native.

  2. Kliknij prawym przyciskiem myszy projekt TodoApp.iOS i wybierz pozycję Ustaw jako projekt startowy.

  3. Na górnym pasku wybierz pozycję iPhone Simulator konfiguracji i TodoApp.iOS docelowej:

    Zrzut ekranu przedstawiający sposób ustawiania konfiguracji uruchamiania dla aplikacji platformy Xamarin dla systemu i O S.

  4. Wybierz odpowiedni symulator telefonu iPhone (wybrano iPhone SE z systemem iOS 15.5).

  5. Naciśnij F5, aby skompilować i uruchomić projekt.

Po uruchomieniu aplikacji zobaczysz pustą listę i pole tekstowe, aby dodać elementy w emulatorze. Można:

  • Naciśnij przycisk +, aby dodać element.
  • Wybierz element, aby ustawić lub wyczyścić flagę ukończoną.
  • Naciśnij ikonę odświeżania, aby ponownie załadować dane z usługi.

Zrzut ekranu przedstawiający uruchomioną aplikację systemu i O S z listą zadań do wykonania.

Rozwiązywanie problemów

Zdalny symulator dostarczany z programem Visual Studio 2022 jest niezgodny z programem XCode 13.3. Zostanie wyświetlony następujący komunikat o błędzie:

Zrzut ekranu przedstawiający komunikat o błędzie podczas uruchamiania symulatora systemu i O S.

Aby obejść ten problem:

  • Wyłącz symulator zdalny (Narzędzia / Opcje / Ustawienia systemu iOS / usuń zaznaczenie symulator zdalny do systemu Windows). Po usunięciu zaznaczenia symulator zostanie uruchomiony na komputerze Mac zamiast w systemie Windows. Następnie możesz korzystać z symulatora bezpośrednio na komputerze Mac podczas korzystania z debugera itp. w systemie Windows.
  • Wyłącz zdalny symulator, tak jak powyżej, aby symulator był uruchamiany na komputerze Mac. Następnie użyj aplikacji pulpitu zdalnego, aby nawiązać połączenie z pulpitem Mac z systemu Windows. Opcje pulpitu zdalnego obejmują Devolutions Remote Desktop Manager (szybkie i dostępne są bezpłatne wersje) oraz klientów VNC (wolniej i bezpłatnie).
  • Użyj urządzenia fizycznego do przetestowania zamiast symulatora. Aby ukończyć samouczek uwierzytelniania, możesz uzyskać bezpłatnego profilu aprowizacji.

Następne kroki

Kontynuuj samouczek, dodawanie uwierzytelniania do aplikacji.