Udostępnij za pośrednictwem


Wdrażanie aplikacji systemu iOS przy użyciu ponownego uruchamiania na gorąco

Zazwyczaj podczas kompilowania aplikacji kod jest kompilowany i połączony z innymi zasobami projektu w celu utworzenia pakietu aplikacji wdrożonego w symulatorze lub urządzeniu. W przypadku tego modelu po zmianie aplikacji należy skompilować i wdrożyć nowy pakiet aplikacji. Chociaż kompilacje przyrostowe mogą pomóc skrócić czas kompilacji, wdrożenia zwykle zajmują tyle samo czasu, niezależnie od rozmiaru zmiany.

Wieloplatformowe ponowne uruchamianie interfejsu użytkownika aplikacji platformy .NET (.NET MAUI) umożliwia szybkie wdrażanie aplikacji .NET MAUI na 64-bitowym lokalnym urządzeniu z systemem iOS z programu Visual Studio 2022 bez konieczności posiadania hosta kompilacji na komputerze Mac. Eliminuje to konieczność ponownego kompilowania pełnego pakietu aplikacji przez wypychanie zmian do istniejącego pakietu aplikacji, który jest już obecny na urządzeniu z systemem iOS połączonym lokalnie. Obsługuje on zmiany w plikach kodu, zasobach i odwołaniach do projektu, co umożliwia szybkie testowanie zmian w aplikacji podczas opracowywania.

Ważne

Ponowne uruchomienie na gorąco nie zastępuje pełnego środowiska kompilacji udostępnianego przez hosta kompilacji dla komputerów Mac. Na przykład może wdrażać tylko aplikacje korzystające z konfiguracji kompilacji debugowania i nie obsługują bibliotek statycznych i struktur, XCFrameworks ani pakietów zasobów powiązania. Aby uzyskać więcej informacji, zobacz Ograniczenia.

Istnieje wiele wymagań, które należy spełnić, aby można było użyć ponownego uruchomienia na gorąco w celu wdrożenia aplikacji .NET MAUI na urządzeniu z systemem iOS połączonym lokalnie:

  • Musisz używać programu Visual Studio 2022 w wersji 17.3 lub nowszej.
  • Na komputerze deweloperskim musi być zainstalowany program iTunes (microsoft Store lub wersja 64-bitowa).
  • Musisz mieć konto dla deweloperów firmy Apple i płatną rejestrację w programie Apple Developer Program.

Konfiguracja

Wykonaj następujące kroki, aby skonfigurować ponowne uruchomienie na gorąco:

  1. Na pasku narzędzi programu Visual Studio użyj listy rozwijanej Debuguj miejsce docelowe , aby wybrać pozycję Urządzenia lokalne systemu iOS, a następnie wpis Urządzenie lokalne:

    Screenshot of choosing the initial debug target for hot restart.

  2. Na pasku narzędzi programu Visual Studio wybierz pozycję Urządzenie lokalne:

    Screenshot of the initial debug target chosen for hot restart.

    Zostanie wyświetlony kreator instalacji instalacji ponownego uruchamiania na gorąco, który przeprowadzi Cię przez proces konfigurowania lokalnego urządzenia z systemem iOS na potrzeby ponownego uruchamiania na gorąco.

  3. W kreatorze Instalacji instalacji ponownego uruchamiania na gorąco wybierz pozycję Dalej:

    Screenshot of the first step in the setup hot restart wizard.

  4. Jeśli nie masz zainstalowanego programu iTunes, kreator instalacji wyświetli monit o jego zainstalowanie. W kreatorze Instalacji instalacji ponownego uruchamiania na gorąco wybierz pozycję Pobierz program iTunes:

    Screenshot of the second step in the setup hot restart wizard.

    Uwaga

    Program iTunes można zainstalować ze sklepu Microsoft Store lub pobrać go z firmy Apple.

    Poczekaj na pobranie aplikacji iTunes, a następnie zainstaluj ją. Jeśli zainstalujesz ją ze sklepu Microsoft Store, po zakończeniu instalacji otwórz ją, a następnie postępuj zgodnie z dodatkowymi monitami, aby umożliwić odnajdywanie urządzeń połączonych lokalnie.

  5. W kreatorze instalacji ponownego uruchamiania na gorąco wybierz przycisk Dalej, aby przejść do następnego kroku kreatora, który wyświetli monit o połączenie lokalnego urządzenia z systemem iOS:

    Screenshot of the initial third step in the setup hot restart wizard.

  6. Połączenie urządzenie z systemem iOS do maszyny deweloperów za pośrednictwem kabla USB. Na urządzeniu może pojawić się monit z prośbą o zaufanie maszynie dewelopera. Na urządzeniu kliknij pozycję Ufaj i postępuj zgodnie z dodatkowymi monitami dotyczącymi urządzenia.

  7. W kreatorze instalacji ponownego uruchamiania na gorąco wybierz przycisk Dalej po wykryciu lokalnego urządzenia z systemem iOS:

    Screenshot of the completed third step in the setup hot restart wizard.

    Uwaga

    Jeśli kreator instalacji nie wykryje lokalnego urządzenia z systemem iOS, odłącz je ponownie, a następnie ponownie połącz lokalne urządzenie z systemem iOS z maszyny deweloperów. Ponadto upewnij się, że program iTunes rozpoznaje lokalne urządzenie z systemem iOS.

  8. W kreatorze instalacji ponownego uruchamiania na gorąco kliknij hiperlink Zaloguj się przy użyciu pojedynczego konta, aby skonfigurować ponowne uruchamianie na gorąco, aby użyć indywidualnego konta programu Apple Developer Program:

    Screenshot of the initial fourth step in the setup hot restart wizard.

    Zostanie wyświetlone okno dialogowe Indywidualne konto .

    Uwaga

    Alternatywnie, aby skonfigurować gorące ponowne uruchamianie do korzystania z konta dla deweloperów apple w przedsiębiorstwie, kliknij hiperlink Zaloguj się przy użyciu konta przedsiębiorstwa i wprowadź swoje poświadczenia w wyświetlonym oknie dialogowym. Następnie przejdź do kroku 12.

  9. Utwórz klucz interfejsu API Połączenie sklepu App Store. Będzie to wymagało posiadania konta dla deweloperów firmy Apple i płatnej rejestracji w programie Apple Developer Program. Aby uzyskać informacje na temat tworzenia klucza interfejsu API usługi App Store Połączenie, zobacz Tworzenie kluczy interfejsu API dla usługi App Store Połączenie API w developer.apple.com.

  10. W oknie dialogowym Indywidualne konto wprowadź dane klucza interfejsu API Połączenie sklepu App Store:

    Screenshot of the completed dialog for adding an Apple Individual account.

    Dane Nazwa, Identyfikator wystawcy i Identyfikator klucza można znaleźć w usłudze App Store Połączenie, wybierając pozycję Użytkownicy i dostęp, a następnie kartę Klucze. Klucz prywatny można również pobrać z tej lokalizacji:

    Screenshot of Apple App Store Connect API details.

  11. W oknie dialogowym Indywidualne konto kliknij przycisk Dodaj. Zostanie zamknięte okno dialogowe Indywidualne konto .

  12. W kreatorze Instalacji instalacji ponownego uruchamiania na gorąco kliknij przycisk Zakończ:

    Screenshot of the completed fourth step in the setup hot restart wizard.

    Konto programu Apple Developer Program zostanie dodane do programu Visual Studio, a kreator instalacji ponownego uruchamiania na gorąco zostanie zamknięty.

  13. W Eksplorator rozwiązań kliknij prawym przyciskiem myszy projekt i wybierz polecenie Właściwości.

  14. We właściwościach projektu rozwiń węzeł iOS i wybierz pozycję Podpisywanie pakietu. Użyj listy rozwijanej Schemat, aby wybrać opcję Automatyczna aprowizacja, a następnie kliknij hiperlink Konfiguruj automatyczną aprowizację:

    Screenshot of automatic provisioning enabled within the iOS property page in Visual Studio.

    Zostanie wyświetlone okno dialogowe Konfigurowanie automatycznej aprowizacji .

  15. W oknie dialogowym Konfigurowanie automatycznej aprowizacji wybierz zespół dla klucza interfejsu API Połączenie:

    Screenshot of the automatic provisioning dialog when it's correctly configured.

    Program Visual Studio ukończy proces automatycznej aprowizacji. Następnie kliknij przycisk OK , aby zamknąć okno dialogowe Konfigurowanie automatycznej aprowizacji .

    Uwaga

    Korzystanie z automatycznej aprowizacji jest zalecane, aby można było łatwo skonfigurować dodatkowe urządzenia z systemem iOS do wdrożenia. Można jednak użyć ręcznej aprowizacji, jeśli na maszynie znajdują się poprawne profile aprowizacji.

Wdrażanie i debugowanie przy użyciu ponownego uruchamiania na gorąco

Po wykonaniu początkowej konfiguracji lokalne połączone urządzenie z systemem iOS zostanie wyświetlone w menu rozwijanym miejsca docelowego debugowania. Aby wdrożyć i debugować aplikację:

  1. Upewnij się, że lokalne połączone urządzenie z systemem iOS zostało odblokowane.

  2. Na pasku narzędzi programu Visual Studio wybierz lokalne połączone urządzenie z systemem iOS z listy rozwijanej miejsca docelowego debugowania, a następnie kliknij przycisk Uruchom , aby skompilować aplikację i wdrożyć ją na lokalnym urządzeniu z systemem iOS:

    Screenshot of the chosen debug target for hot restart.

  3. Po wdrożeniu aplikacji program Visual Studio wyświetli okno dialogowe debugera Połączenie:

    Screenshot of the dialog asking you to launch the app on your device.

    Uruchom aplikację na urządzeniu, a program Visual Studio połączy debuger z uruchomioną aplikacją, a okno dialogowe debugera Połączenie zostanie odrzucone.

Podczas debugowania aplikacji możesz edytować kod języka C# i nacisnąć przycisk ponownego uruchamiania na pasku narzędzi programu Visual Studio, aby ponownie uruchomić sesję debugowania z zastosowanymi nowymi zmianami:

Screenshot of the restart button on the Visual Studio toolbar.

Zapobieganie wykonywaniu kodu

Symbol HOTRESTART preprocesora może służyć do zapobiegania wykonywaniu kodu podczas debugowania przy użyciu ponownego uruchomienia na gorąco:

#if !HOTRESTART
  // Code here won't be executed when debugging with hot restart
#endif

Włączanie ponownego uruchamiania na gorąco

Ponowne uruchamianie na gorąco jest domyślnie włączone w programie Visual Studio 2022. Jeśli została ona wcześniej wyłączona, można ją włączyć, wybierając pozycję Opcje narzędzi > na pasku menu programu Visual Studio. Następnie w oknie dialogowym Opcje rozwiń węzeł Xamarin i wybierz pozycję Ustawienia systemu iOS. Następnie upewnij się, że opcja Włącz ponowne uruchamianie na gorąco jest zaznaczona:

Screenshot of how to enable hot restart within Visual Studio.

Ograniczenia

Istnieją ograniczenia dotyczące korzystania z ponownego uruchamiania na gorąco:

  • Może służyć tylko do wdrażania aplikacji korzystających z konfiguracji kompilacji debugowania. Nadal będziesz potrzebować hosta kompilacji dla komputerów Mac, aby skompilować, podpisać i wdrożyć aplikację do celów produkcyjnych.
  • Pliki scenorysu i XIB nie są obsługiwane, a aplikacja może ulec awarii, jeśli próbuje załadować je w czasie wykonywania.
  • Statyczne biblioteki i struktury systemu iOS nie są obsługiwane i mogą wystąpić błędy środowiska uruchomieniowego lub awarie, jeśli aplikacja spróbuje je załadować.
  • Pakiety zasobów XCFrameworks i powiązania nie są obsługiwane.
  • Wykazy zasobów nie są obsługiwane. W przypadku korzystania z ponownego uruchamiania gorąca aplikacja będzie wyświetlać ikonę platformy .NET i ekran uruchamiania.

Rozwiązywanie problemów

System iOS korzysta z usługi watchdog, która monitoruje czasy uruchamiania i czas odpowiedzi aplikacji oraz przerywa działanie aplikacji, które nie odpowiadają. Na przykład watchdog przerywa aplikacje, które blokują główny wątek przez znaczący czas. Na starych urządzeniach z systemem iOS watchdog może zakończyć działanie aplikacji wdrożonej przy użyciu ponownego uruchomienia na gorąco, zanim debuger nawiązał z nim połączenie. Obejście polega na zmniejszeniu ilości przetwarzania wykonywanego w ścieżce uruchamiania aplikacji i używaniu nowszego urządzenia z systemem iOS.

Aby zgłosić dodatkowe problemy, skorzystaj z narzędzia do przesyłania opinii w witrynie Pomoc > Wyślij opinię > Zgłoś problem.