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.
Ustawienia
Wykonaj następujące kroki, aby skonfigurować ponowne uruchomienie na gorąco:
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:
Na pasku narzędzi programu Visual Studio wybierz pozycję Urządzenie lokalne:
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.
W kreatorze Instalacji instalacji ponownego uruchamiania na gorąco wybierz pozycję Dalej:
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:
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.
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:
Podłącz urządzenie z systemem iOS do maszyny programistycznej za pośrednictwem 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.
W kreatorze instalacji ponownego uruchamiania na gorąco wybierz przycisk Dalej po wykryciu lokalnego urządzenia z systemem iOS:
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.
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:
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.
Utwórz klucz interfejsu API programu App Store Connect. 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 programu App Store Connect, zobacz Tworzenie kluczy interfejsu API dla interfejsu API programu App Store Connect w developer.apple.com.
W oknie dialogowym Indywidualne konto wprowadź dane klucza interfejsu API programu App Store Connect:
Dane Name, Issuer IDi Key ID można znaleźć w App Store Connect, wybierając Users and Access, a następnie kartę Integrations:
W oknie dialogowym Indywidualne konto kliknij przycisk Dodaj. Zostanie zamknięte okno dialogowe Indywidualne konto .
W kreatorze Instalacji instalacji ponownego uruchamiania na gorąco kliknij przycisk Zakończ:
Konto programu Apple Developer Program zostanie dodane do programu Visual Studio, a kreator instalacji ponownego uruchamiania na gorąco zostanie zamknięty.
W Eksplorator rozwiązań kliknij prawym przyciskiem myszy projekt i wybierz polecenie Właściwości.
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ę:
Zostanie wyświetlone okno dialogowe Konfigurowanie automatycznej aprowizacji .
W oknie dialogowym Konfigurowanie automatycznej aprowizacji wybierz zespół dla klucza interfejsu API Connect:
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ę:
Upewnij się, że lokalne połączone urządzenie z systemem iOS zostało odblokowane.
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:
Po wdrożeniu aplikacji program Visual Studio wyświetli okno dialogowe Łączenie debugera :
Uruchom aplikację na urządzeniu, a program Visual Studio połączy debuger z uruchomioną aplikacją, a okno dialogowe Łączenie debugera 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:
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 > 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:
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 systemu iOS i struktury zawierające biblioteki statyczne nie są obsługiwane i mogą wystąpić błędy środowiska uruchomieniowego lub awarie, jeśli aplikacja spróbuje je załadować.
- Obsługiwane są pakiety zasobów XCFrameworks i powiązania, o ile nie zawierają statycznych bibliotek ani struktur systemu iOS z bibliotekami statycznymi.
- 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.