Instalowanie i konfigurowanie narzędzi do kompilacji przy użyciu systemu iOS
Program Visual Studio można używać z wieloplatformowym programowaniem mobilnym za pomocą narzędzi języka C++ , aby edytować, debugować i wdrażać kod systemu iOS w symulatorze systemu iOS lub na urządzeniu z systemem iOS. Jednak ze względu na ograniczenia licencjonowania kod musi być kompilowany i uruchamiany zdalnie na komputerze Mac. Aby tworzyć i uruchamiać aplikacje dla systemu iOS przy użyciu programu Visual Studio, należy skonfigurować i skonfigurować agenta zdalnego vcremote na komputerze Mac. Agent zdalny vcremote obsługuje żądania kompilacji z programu Visual Studio i uruchamia aplikację na urządzeniu z systemem iOS połączonym z komputerem Mac lub w symulatorze systemu iOS na komputerze Mac.
Uwaga
Aby uzyskać informacje na temat korzystania z usług mac hostowanych w chmurze zamiast komputerów Mac, zobacz Konfigurowanie programu Visual Studio w celu nawiązania połączenia z hostowanymi w chmurze komputerami Mac. Instrukcje są przeznaczone do kompilowania przy użyciu narzędzi Visual Studio Tools for Apache Cordova. Aby użyć instrukcji do skompilowania przy użyciu języka C++, zastąp vcremote
element .remotebuild
Po zainstalowaniu narzędzi do kompilowania przy użyciu systemu iOS ponownie zapoznaj się z tym artykułem. W tym artykule opisano sposoby szybkiego konfigurowania i aktualizowania narzędzia vcremote na potrzeby tworzenia aplikacji dla systemu iOS w programie Visual Studio i na komputerze Mac.
Wymagania wstępne
Aby zainstalować i użyć agenta zdalnego vcremote do tworzenia kodu dla systemu iOS, musisz najpierw mieć następujące wymagania wstępne:
Komputer Mac z systemem macOS Mojave w wersji 10.14 lub nowszej
Identyfikator Apple ID
Aktywne konto programu Apple Developer Program
Możesz uzyskać bezpłatne konto, które umożliwia ładowanie bezpośrednie aplikacji do urządzenia z systemem iOS na potrzeby testowania tylko, ale nie do dystrybucji.
Program Xcode w wersji 10.2.1 lub nowszej
Kod Xcode można pobrać ze sklepu App Store.
Narzędzia wiersza polecenia Xcode
Aby zainstalować narzędzia wiersza polecenia Xcode, otwórz aplikację Terminal na komputerze Mac i wprowadź następujące polecenie:
xcode-select --install
Konto identyfikatora Apple ID skonfigurowane w programie Xcode jako tożsamość podpisywania do podpisywania aplikacji
Aby wyświetlić lub ustawić tożsamość podpisywania w programie Xcode, otwórz menu Xcode i wybierz pozycję Preferencje. Wybierz pozycję Konta i wybierz swój identyfikator Apple ID, a następnie wybierz przycisk Wyświetl szczegóły . Aby uzyskać szczegółowe instrukcje, zobacz Dodawanie konta apple ID.
Aby uzyskać szczegółowe informacje na temat wymagań dotyczących podpisywania, zobacz Co to jest podpisywanie aplikacji.
Jeśli używasz urządzenia z systemem iOS do programowania, profil aprowizacji skonfigurowany w środowisku Xcode dla urządzenia
Program Xcode zapewnia automatyczne podpisywanie, w którym tworzy certyfikaty podpisywania zgodnie z potrzebami. Aby uzyskać szczegółowe informacje na temat automatycznego podpisywania kodu Xcode, zobacz automatyczne podpisywanie.
Jeśli chcesz przeprowadzić ręczne podpisywanie, musisz utworzyć profil aprowizacji dla aplikacji. Aby uzyskać szczegółowe informacje na temat tworzenia profilów aprowizacji, zobacz Tworzenie profilu aprowizacji programowania.
Node.js w wersji 18.12.1 i npm w wersji 8.19.2
Zainstaluj wersję 18.12.1 Node.js na komputerze Mac. Jeśli zainstalujesz pakiet Node.js, powinien on pochodzić z programem npm w wersji 8.19.2. Inne wersje Node.js i npm mogą nie obsługiwać niektórych modułów używanych w vcremote, co może spowodować niepowodzenie instalacji vcremote. Zalecamy zainstalowanie Node.js przy użyciu menedżera pakietów, takiego jak Node Version Manager. Unikaj używania polecenia
sudo
, aby zainstalować Node.js, ponieważ niektóre moduły mogą zakończyć się niepowodzeniem podczas korzystania z programu sudo.
Instalowanie narzędzia vcremote dla systemu iOS
Po zainstalowaniu pakietu roboczego Programowanie aplikacji mobilnych za pomocą języka C++ program Visual Studio może komunikować się z agentem zdalnym vcremote uruchomionym na komputerze Mac w celu przesyłania plików, kompilowania i uruchamiania aplikacji systemu iOS oraz wysyłania poleceń debugowania.
Przed zainstalowaniem programu vcremote upewnij się, że zostały spełnione wymagania wstępne i zostały wykonane kroki instalacji opisane w temacie Instalowanie programowania aplikacji mobilnych dla wielu platform za pomocą języka C++.
Aby pobrać i zainstalować narzędzie vcremote
Z poziomu aplikacji Terminal na komputerze Mac sprawdź, czy używana wersja Node.js jest wymagana w wersji 18.12.1. Aby sprawdzić wersję, uruchom polecenie:
node -v
Jeśli nie jest to właściwa wersja, może być konieczne wykonanie instrukcji instalacji Node.js w wymaganiach wstępnych. Następnie uruchom ponownie Node.js.
Po sprawdzeniu, czy jest używana wymagana Node.js, uruchom to polecenie, aby zainstalować program vcremote w tej wersji Node.js:
npm install -g --unsafe-perm vcremote
Zalecany jest przełącznik instalacji globalnej (-g), ale nie jest wymagany. Jeśli nie używasz globalnego przełącznika instalacji, narzędzie vcremote zostanie zainstalowane w bieżącej aktywnej ścieżce w aplikacji terminalu.
Podczas instalacji program jest instalowany,
vcremote
a tryb dewelopera jest aktywowany na komputerze Mac. Oprogramowanie Homebrew i dwa pakietyvcremote-lib
npm ivcremote-utils
, są również zainstalowane. Po zakończeniu instalacji można bezpiecznie zignorować wszelkie ostrzeżenia dotyczące pominiętych opcjonalnych zależności.Uwaga
Aby zainstalować oprogramowanie Homebrew, musisz mieć dostęp sudo (administrator). Jeśli musisz zainstalować program vcremote bez programu sudo, możesz zainstalować oprogramowanie Homebrew ręcznie w
usr/local
lokalizacji i dodać jegobin
folder do ścieżki. Aby uzyskać więcej informacji, zobacz dokumentację oprogramowania Homebrew. Aby ręcznie włączyć tryb dewelopera, wprowadź następujące polecenie w aplikacji terminalu:DevToolsSecurity -enable
Jeśli zaktualizujesz program Visual Studio do nowej wersji, musisz również zaktualizować bieżącą wersję programu vcremote. Aby zaktualizować vcremote, powtórz kroki pobierania i instalowania agenta zdalnego.
Uruchom vcremote
Agent zdalny vcremote musi być uruchomiony, aby program Visual Studio skompilować i uruchomić kod systemu iOS. Program Visual Studio musi być sparowany z vcremote, zanim będzie mógł się komunikować. Domyślnie vcremote działa w trybie zabezpieczonego połączenia, co wymaga transferu certyfikatów klienta i serwera między komputerami Visual Studio i Mac.
Uwaga
Wersja 1.0.19 lub nowsza programu vcremote wymaga co najmniej programu Visual Studio 2022 w wersji 17.5.0 (wersja zapoznawcza 1 lub nowsza). Jeśli używasz programu Visual Studio 2022 w wersji 17.4 lub starszej, zainstaluj program vcremote w wersji 1.0.17.
Aby uruchomić vcremote
W aplikacji Terminal na komputerze Mac wprowadź:
vcremote
To polecenie uruchamia agenta zdalnego z domyślnym katalogiem kompilacji
~/vcremote
. Aby uzyskać więcej opcji konfiguracji, zobacz Konfigurowanie vcremote na komputerze Mac.
Przy pierwszym uruchomieniu programu vcremote i za każdym razem, gdy tworzysz nowy certyfikat serwera, należy podać wymagane informacje, aby skonfigurować połączenie w programie Visual Studio. Informacje obejmują nazwę hosta i port. Jeśli zamierzasz skonfigurować agenta zdalnego w programie Visual Studio przy użyciu nazwy hosta, wyślij polecenie ping do komputera Mac z systemu Windows przy użyciu nazwy hosta, aby sprawdzić, czy jest osiągalny. W przeciwnym razie może być konieczne użycie adresu IP.
Agent zdalny można używać w trybie niezabezpieczonym. W trybie niezabezpieczonym agent zdalny można sparować z programem Visual Studio przy użyciu prostego połączenia HTTP, które nie szyfruje danych. Używaj trybu niezabezpieczonego na własne ryzyko. Zalecamy użycie trybu bezpiecznego do nawiązania połączenia:
Program Visual Studio 2022 w wersji 17.5 lub nowszej z programem vcremote 1.0.19 lub nowszym:
W programie vcremote 1.0.19 lub nowszym server-cert.pem
program vcremote zgłasza ścieżkę do pliku certyfikatu, który musi zostać przekazany do programu Visual Studio.
Program Visual Studio 2022 w wersji 17.4 lub starszej z programem vcremote 1.0.17 i starszymi wersjami:
Wersja 1.0.17 i starsze wersje vcremote generują numer PIN do bezpiecznej komunikacji z wersjami programu Visual Studio za pośrednictwem programu Visual Studio 2022 w wersji 17.4.
Wygenerowany numer PIN jest używany jednorazowo i jest ważny tylko przez ograniczony czas. Jeśli nie połączysz programu Visual Studio z agentem zdalnym przed upływem czasu, musisz wygenerować nowy numer PIN. Aby uzyskać więcej informacji, zobacz Generowanie nowego numeru PIN zabezpieczeń.
Aby wyłączyć bezpieczny tryb połączenia
Aby wyłączyć tryb bezpiecznego połączenia w programie vcremote, wprowadź to polecenie w aplikacji Terminal na komputerze Mac:
vcremote --secure false
Aby włączyć bezpieczny tryb połączenia
Aby włączyć bezpieczny tryb połączenia, wprowadź następujące polecenie:
vcremote --secure true
Po uruchomieniu agenta zdalnego można go użyć z programu Visual Studio do momentu jego zatrzymania.
Aby zatrzymać agenta zdalnego
- W oknie terminalu vcremote jest uruchomiony w, wprowadź Control+C.
Konfigurowanie narzędzia vcremote w programie Visual Studio
Aby nawiązać połączenie z agentem zdalnym vcremote z poziomu programu Visual Studio, należy określić konfigurację zdalną w opcjach programu Visual Studio. Program Visual Studio używa tych samych informacji do nawiązywania połączenia z agentem zdalnym na komputerze Mac za każdym razem, gdy używasz go. Nie musisz ponownie parować programu Visual Studio z agentem zdalnym, chyba że wygenerujesz nowy certyfikat zabezpieczeń na komputerze Mac lub jego nazwę hosta lub zmiany adresu IP.
Aby skonfigurować vcremote z programu Visual Studio 2022 w wersji 17.5 lub nowszej
Jeśli agent nie jest jeszcze uruchomiony na komputerze Mac, wykonaj kroki opisane w temacie Uruchamianie agenta zdalnego. Aby pomyślnie sparować, połączyć i skompilować projekt, na komputerze Mac musi być uruchomiony program vcremote dla programu Visual Studio.
Na komputerze Mac pobierz nazwę hosta lub adres IP komputera Mac.
Adres IP można uzyskać przy użyciu polecenia ifconfig w oknie terminalu.
inet
Użyj adresu wymienionego w aktywnym interfejsie sieciowym.Na pasku menu programu Visual Studio wybierz pozycję Narzędzia>Opcje.
W oknie dialogowym Opcje rozwiń węzeł Międzyplatformowy>język C++>iOS.
W polach Nazwa hosta i Port wprowadź wartości określone przez agenta zdalnego podczas jego uruchamiania. Nazwa hosta może być nazwą DNS lub adresem IP komputera Mac. Domyślny port to 3030.
Uwaga
Jeśli nie możesz wysłać polecenia ping do komputera Mac przy użyciu nazwy hosta, może być konieczne użycie adresu IP.
Jeśli używasz agenta zdalnego w domyślnym trybie zabezpieczonego połączenia, zaznacz pole wyboru Bezpieczne i przenieś
server-cert.pem
plik z komputera Mac do programu Visual Studio w celu przekazania. Następnie wybierz przycisk Generuj, aby wygenerować nowyclient-cert.pem
plik, który powinien pojawić się na pulpicie. Następnie przenieś certyfikat klienta na komputer Mac w obszarze/vcremote/certs/Authorized-Clients
. (Możesz przenieść wiele plików certyfikatów klienta do tego katalogu, więc wiele autoryzowanych maszyn programu Visual Studio może wysyłać żądania do tego komputera Mac).Uwaga
Jeśli używasz dysku USB do transferu certyfikatów, usuń certyfikaty z dysku USB po zakończeniu transferu.
Wybierz pozycję Para , aby włączyć parowanie.
Parowanie będzie utrzymywane do momentu zmiany nazwy hosta, portu lub wygenerowania nowego serwera lub certyfikatu klienta. Jeśli zmienisz nazwę hosta lub port w oknie dialogowym Opcje , możesz wybrać przycisk Przywróć , aby cofnąć zmianę i przywrócić poprzednie parowanie.
Jeśli parowanie nie powiedzie się, sprawdź, czy agent zdalny jest uruchomiony, wykonując kroki opisane w temacie Uruchamianie agenta zdalnego. Wykonaj kroki, aby wygenerować nowy certyfikat serwera i wygenerować nowy certyfikat klienta. Jeśli używasz nazwy hosta komputera Mac, spróbuj użyć adresu IP w polu Nazwa hosta.
Zaktualizuj nazwę folderu w polu Zdalny katalog główny , aby określić folder używany przez agenta zdalnego w katalogu głównym (
~
) na komputerze Mac. Domyślnie agent zdalny używa/Users/<username>/vcremote
jako zdalnego katalogu głównego.Wybierz przycisk OK , aby zapisać ustawienia połączenia parowania zdalnego.
Aby skonfigurować vcremote z wersji przed programem Visual Studio 2022 w wersji 17.5
Jeśli agent nie jest jeszcze uruchomiony na komputerze Mac, wykonaj kroki opisane w temacie Uruchamianie agenta zdalnego. Aby pomyślnie sparować, połączyć i skompilować projekt, na komputerze Mac musi być uruchomiony program vcremote dla programu Visual Studio.
Na komputerze Mac pobierz nazwę hosta lub adres IP komputera Mac.
Adres IP można uzyskać przy użyciu polecenia ifconfig w oknie terminalu.
inet
Użyj adresu wymienionego w aktywnym interfejsie sieciowym.Na pasku menu programu Visual Studio wybierz pozycję Narzędzia>Opcje.
W oknie dialogowym Opcje rozwiń węzeł Międzyplatformowy>język C++>iOS.
W polach Nazwa hosta i Port wprowadź wartości określone przez agenta zdalnego podczas jego uruchamiania. Nazwa hosta może być nazwą DNS lub adresem IP komputera Mac. Domyślny port to 3030.
Uwaga
Jeśli nie możesz wysłać polecenia ping do komputera Mac przy użyciu nazwy hosta, może być konieczne użycie adresu IP.
Jeśli używasz agenta zdalnego w domyślnym trybie zabezpieczonego połączenia, zaznacz pole wyboru Bezpieczne , a następnie wprowadź wartość numeru PIN określoną przez agenta zdalnego w polu Przypnij . Jeśli używasz agenta zdalnego w trybie niezabezpieczonego połączenia, wyczyść pole wyboru Bezpieczne i pozostaw pole Przypnij puste.
Wybierz pozycję Para , aby włączyć parowanie.
Parowanie będzie utrzymywane do momentu zmiany nazwy hosta lub portu. Jeśli zmienisz nazwę hosta lub port w oknie dialogowym Opcje , aby cofnąć zmianę, wybierz przycisk Przywróć , aby przywrócić poprzednie parowanie.
Jeśli parowanie nie powiedzie się, sprawdź, czy agent zdalny jest uruchomiony, wykonując kroki opisane w temacie Uruchamianie agenta zdalnego. Jeśli minęło zbyt dużo czasu od wygenerowania numeru PIN agenta zdalnego, wykonaj kroki opisane w temacie Generowanie nowego numeru PIN zabezpieczeń. Następnie spróbuj ponownie. Jeśli używasz nazwy hosta komputera Mac, spróbuj użyć adresu IP w polu Nazwa hosta.
Zaktualizuj nazwę folderu w polu Zdalny katalog główny , aby określić folder używany przez agenta zdalnego w katalogu głównym (
~
) na komputerze Mac. Domyślnie agent zdalny używa/Users/<username>/vcremote
jako zdalnego katalogu głównego.Wybierz przycisk OK , aby zapisać ustawienia połączenia parowania zdalnego.
Generowanie nowego numeru PIN zabezpieczeń
Dotyczy: Program Visual Studio 2022 w wersji 17.4 lub starszej, korzystając z programu vcremote w wersji 1.0.17 i starszych.
Po pierwszym uruchomieniu agenta zdalnego wygenerowany numer PIN jest ważny przez ograniczony czas — domyślnie 10 minut. Jeśli program Visual Studio nie zostanie sparowany z agentem zdalnym przed upływem czasu, musisz wygenerować nowy numer PIN.
Aby wygenerować nowy numer PIN
Zatrzymaj agenta lub otwórz drugie okno aplikacji terminalowej na komputerze Mac i użyj go, aby wprowadzić polecenie .
Wprowadź to polecenie w aplikacji terminalu:
vcremote generateClientCert
Agent zdalny generuje nowy tymczasowy numer PIN. Aby sparować program Visual Studio przy użyciu nowego numeru PIN, powtórz kroki opisane w temacie Konfigurowanie agenta zdalnego w programie Visual Studio.
Generowanie nowego certyfikatu klienta
Dotyczy: Program Visual Studio 2022 w wersji 17.5 lub nowszej przy użyciu programu vcremote w wersji 1.0.19 lub nowszej.
Podczas parowania w programie Visual Studio wygenerujesz nowy client-cert.pem
plik. Przenieś plik certyfikatu na maszynę kompilacji dla komputerów Mac w obszarze /vcremote/certs/Authorized-Clients
. Ten certyfikat umożliwia komputerowi Mac autoryzowanie żądań pochodzących z komputera Visual Studio.
Generowanie nowego certyfikatu serwera
Dotyczy: Program Visual Studio 2022 w wersji 17.5 lub nowszej przy użyciu programu vcremote w wersji 1.0.19 lub nowszej.
Ze względów bezpieczeństwa certyfikaty serwera, które łączą program Visual Studio z agentem zdalnym, są powiązane z adresem IP lub nazwą hosta komputera Mac. Jeśli te wartości się zmienią, musisz wygenerować nowy certyfikat serwera, a następnie ponownie skonfigurować program Visual Studio przy użyciu nowych wartości.
Aby wygenerować nowy certyfikat serwera
Zatrzymaj agenta
vcremote
.Wprowadź to polecenie w aplikacji terminalu:
vcremote resetServerCert
Po wyświetleniu monitu o potwierdzenie wprowadź .
Y
Aby sparować program Visual Studio z komputerem Mac, przenieś nowo wygenerowany
server-cert.pem
plik z komputera Mac i przekaż go do programu Visual Studio, powtarzając kroki opisane w temacie Konfigurowanie agenta zdalnego w programie Visual Studio.
Konfigurowanie narzędzia vcremote na komputerze Mac
Agent zdalny można skonfigurować przy użyciu różnych opcji wiersza polecenia. Można na przykład określić port do nasłuchiwania żądań kompilacji i określić maksymalną liczbę kompilacji do utrzymania w systemie plików. Domyślnie limit to 10 kompilacji. Agent zdalny usunie kompilacje, które przekraczają maksymalną wartość zamknięcia.
Aby skonfigurować agenta zdalnego
Aby wyświetlić pełną listę poleceń agenta zdalnego, w aplikacji Terminal wprowadź:
vcremote --help
Aby wyłączyć tryb bezpieczny i włączyć proste połączenia oparte na protokole HTTP, wprowadź:
vcremote --secure false
Jeśli używasz tej opcji, wyczyść pole wyboru Zabezpieczanie.
Aby określić lokalizację plików agenta zdalnego, wprowadź:
vcremote --serverDir directory_path
Zastąp
directory_path
element lokalizacją na komputerze Mac, aby umieścić pliki dziennika, kompilacje i certyfikaty serwera. Domyślnie ta lokalizacja to/Users/<username>/vcremote
. Kompilacje są zorganizowane według numeru kompilacji w tej lokalizacji.Aby użyć procesu w tle do przechwytywania
stdout
istderr
do pliku o nazwieserver.log
, wprowadź:vcremote > server.log 2>&1 &
Plik
server.log
może pomóc w rozwiązywaniu problemów z kompilacją.Aby uruchomić agenta przy użyciu pliku konfiguracji zamiast parametrów wiersza polecenia, wprowadź:
vcremote --config config_file_path
Zastąp
config_file_path
ciąg ścieżką do pliku konfiguracji w formacie JSON. Opcje uruchamiania i ich wartości nie mogą zawierać kreski.
Rozwiązywanie problemów z agentem zdalnym
Debugowanie na urządzeniu z systemem iOS
Jeśli debugowanie na urządzeniu z systemem iOS nie działa, mogą wystąpić problemy z ideviceinstaller
narzędziem używanym do komunikowania się z urządzeniem z systemem iOS. To narzędzie jest zwykle instalowane z oprogramowania Homebrew podczas instalacji vcremote
programu . Wykonaj następne kroki jako obejście:
Otwórz aplikację terminalu i zaktualizuj ideviceinstaller
jej zależności, uruchamiając następujące polecenia w następującej kolejności:
Upewnij się, że oprogramowanie Homebrew zostało zaktualizowane
brew update
Odinstalowywanie
libimobiledevice
iusbmuxd
brew uninstall --ignore-dependencies libimobiledevice
brew uninstall --ignore-dependencies usbmuxd
Instalowanie najnowszej wersji programu
libimobiledevice
iusbmuxd
brew install --HEAD usbmuxd
brew unlink usbmuxd
brew link usbmuxd
brew install --HEAD libimobiledevice
Odinstalowywanie i ponowne instalowanie
ideviceinstaller
brew uninstall ideviceinstaller
brew install ideviceinstaller
Sprawdź, czy ideviceinstaller
można komunikować się z urządzeniem, próbując wyświetlić listę aplikacji zainstalowanych na urządzeniu:
ideviceinstaller -l
Jeśli ideviceinstaller
zgłasza błąd, że nie może uzyskać dostępu do folderu , zmień uprawnienia w folderze /var/db/lockdown
przy użyciu tego polecenia:
sudo chmod 777 /var/db/lockdown
Następnie sprawdź ponownie, czy ideviceinstaller
można nawiązać komunikację z urządzeniem.