Instalace a konfigurace nástrojů pro vytváření pomocí iOS

Pomocí sady Visual Studio s multiplatformní vývoj mobilních aplikací pomocí nástrojů C++ můžete upravovat, ladit a nasazovat kód iOS do simulátoru iOS nebo na zařízení s iOSem. Kvůli licenčním omezením ale musí být kód sestavený a spuštěný vzdáleně na Macu. Pokud chcete vytvářet a spouštět aplikace pro iOS pomocí sady Visual Studio, musíte na Macu nastavit a nakonfigurovat vzdáleného agenta, vcremote. Vzdálený agent vcremote zpracovává žádosti o sestavení ze sady Visual Studio a spouští aplikaci na zařízení s iOSem připojeném k Macu nebo v simulátoru iOS na Macu.

Poznámka:

Informace o používání cloudových služeb Mac místo Macu najdete v tématu Konfigurace sady Visual Studio pro připojení k vašemu macu hostovaného v cloudu. Pokyny jsou určené k vytváření pomocí nástrojů Visual Studio Tools for Apache Cordova. Pokud chcete použít pokyny k sestavení pomocí jazyka C++, nahraďte vcremote ho .remotebuild

Po instalaci nástrojů pro sestavení pomocí iOSu si přečtěte tento článek znovu. Popisuje způsoby, jak rychle nakonfigurovat a aktualizovat vytváření vcremote pro vývoj pro iOS v sadě Visual Studio a na Macu.

Požadavky

Pokud chcete nainstalovat a používat vzdáleného agenta vcremote k vývoji kódu pro iOS, musíte nejprve mít tyto požadavky:

  • Počítač Mac se systémem macOS Mojave verze 10.14 nebo novější

  • Apple ID

  • Aktivní účet Programu pro vývojáře Apple

    Můžete získat bezplatný účet, který umožňuje zkušební načtení aplikací do zařízení s iOSem jenom pro testování, ale ne pro distribuci.

  • Xcode verze 10.2.1 nebo novější

    Xcode je možné stáhnout z App Storu.

  • Nástroje příkazového řádku Xcode

    Pokud chcete nainstalovat nástroje příkazového řádku Xcode, otevřete aplikaci Terminál na počítači Mac a zadejte následující příkaz:

    xcode-select --install

  • Účet Apple ID nakonfigurovaný v Xcode jako podpisová identita pro podepisování aplikací

    Pokud chcete zobrazit nebo nastavit svoji přihlašovací identitu v Xcode, otevřete nabídku Xcode a zvolte Předvolby. Vyberte Účty a zvolte Apple ID a pak zvolte tlačítko Zobrazit podrobnosti . Podrobné pokyny najdete v tématu Přidání účtu Apple ID.

    Podrobné informace o požadavcích na podepisování najdete v tématu Co je podepisování aplikací.

  • Pokud pro vývoj používáte zařízení s iOSem, zřizovací profil nakonfigurovaný v Xcode pro vaše zařízení

    Xcode poskytuje automatické podepisování, kde podle potřeby vytváří podpisové certifikáty. Podrobné informace o automatickém podepisování Xcode najdete v tématu automatické podepisování.

    Pokud chcete provést ruční podepisování, musíte pro svou aplikaci vytvořit zřizovací profil. Podrobné informace o vytváření zřizovacích profilů najdete v tématu Vytvoření zřizovacího profilu pro vývoj.

  • Node.js verze 18.12.1 a npm verze 8.19.2

    Nainstalujte si na Mac verzi 18.12.1 Node.js. Pokud nainstalujete balíček Node.js, měl by být součástí npm verze 8.19.2. Jiné verze Node.js a npm nemusí podporovat některé moduly používané vcremote, což může způsobit selhání instalace vcremote. Doporučujeme nainstalovat Node.js pomocí správce balíčků, jako je Správce verzí uzlu. Nepoužívejte příkaz sudo k instalaci Node.js, protože některé moduly se při použití sudo nedají nainstalovat.

Instalace vcremote pro iOS

Při instalaci vývoje mobilních aplikací pomocí úlohy C++ může Visual Studio komunikovat se vzdáleným agentem vcremote spuštěným na počítači Mac za účelem přenosu souborů, sestavení a spuštění aplikace pro iOS a odesílání příkazů ladění.

Před instalací vcremote se ujistěte, že jste splnili požadavky a dokončili instalační kroky v části Instalace vývoje mobilních aplikací pro různé platformy pomocí jazyka C++.

Stažení a instalace vcremote

  • V aplikaci Terminál na počítači Mac ověřte, že aktuálně použitá verze Node.js je požadovaná verze 18.12.1. Verzi ověříte spuštěním příkazu:

    node -v

    Pokud není správná verze, možná budete muset postupovat podle pokynů k instalaci Node.js v požadavcích. Potom restartujte Node.js.

  • Po ověření, že se používá požadovaná Node.js, spusťte tento příkaz a nainstalujte v této Node.js verzi vcremote:

    npm install -g --unsafe-perm vcremote

    Doporučuje se globální instalační přepínač (-g), ale nevyžaduje se. Pokud nepoužíváte globální instalační přepínač, nainstaluje se vcremote pod aktuální aktivní cestou v aplikaci Terminál.

    Během instalace vcremote se nainstaluje a vývojářský režim se aktivuje na počítači Mac. Homebrew a dva balíčky npm a vcremote-libvcremote-utils, jsou také nainstalovány. Po dokončení instalace je bezpečné ignorovat všechna upozornění týkající se vynechaných volitelných závislostí.

    Poznámka:

    Pokud chcete nainstalovat Homebrew, musíte mít přístup sudo (správce). Pokud potřebujete nainstalovat vcremote bez sudo, můžete Homebrew nainstalovat ručně do usr/local umístění a přidat její bin složku do cesty. Další informace najdete v dokumentaci k Homebrew. Pokud chcete ručně povolit vývojářský režim, zadejte tento příkaz v aplikaci Terminál: DevToolsSecurity -enable

Pokud aktualizujete na novou verzi sady Visual Studio, musíte také aktualizovat aktuální verzi vcremote. Pokud chcete aktualizovat vcremote, opakujte kroky pro stažení a instalaci vzdáleného agenta.

Spuštění vcremote

Aby bylo možné sestavit a spustit kód iOS, musí být spuštěn vzdálený agent vcremote pro Visual Studio. Visual Studio musí být spárované s vcremote, aby mohl komunikovat. Ve výchozím nastavení běží v zabezpečeném režimu připojení, který vyžaduje přenos klientských a serverových certifikátů mezi počítači Visual Studio a Mac.

Poznámka:

Verze 1.0.19 nebo novější verze vcremote vyžaduje alespoň Visual Studio 2022 verze 17.5.0 Preview 1 nebo novější. Pokud používáte Visual Studio 2022 verze 17.4 nebo starší verzi, nainstalujte vcremote verze 1.0.17.

Spuštění vcremote

  • V aplikaci Terminál na počítači Mac zadejte:

    vcremote

    Tento příkaz spustí vzdálený agent s výchozím adresářem ~/vcremotesestavení . Další možnosti konfigurace najdete v tématu Konfigurace vcremote na Macu.

Při prvním spuštění vcremote a pokaždé, když vytvoříte nový certifikát serveru, budete mít k dispozici požadované informace ke konfiguraci připojení v sadě Visual Studio. Informace zahrnují název hostitele a port. Pokud máte v úmyslu nakonfigurovat vzdáleného agenta v sadě Visual Studio pomocí názvu hostitele, pomocí příkazu ping z Počítače Mac z Windows ověřte, že je dostupný. Jinak možná budete muset místo toho použít IP adresu.

Vzdálený agent můžete použít v nezabezpečeném režimu. V nezabezpečeném režimu je možné vzdálený agent spárovat se sadou Visual Studio pomocí jednoduchého připojení HTTP, které nešifruje data. Používejte nezabezpečený režim na vlastní nebezpečí. Pro připojení doporučujeme použít zabezpečený režim:

Visual Studio 2022 verze 17.5 a novější s vcremote 1.0.19 a novějším:

V nástroji vcremote 1.0.19 a novějších vytvořte sestavu cesty k server-cert.pem souboru certifikátu, který se musí nahrát do sady Visual Studio.

Visual Studio 2022 verze 17.4 a starší verze s vcremote 1.0.17 a staršími verzemi:

Verze 1.0.17 a starší verze vcremote vygenerují KÓD PIN pro zabezpečenou komunikaci s verzemi sady Visual Studio prostřednictvím sady Visual Studio 2022 verze 17.4.

Screenshot of the Mac Terminal window that shows the host name, port, and PIN reported when VC remote is started.

Vygenerovaný PIN kód je pro jednorázové použití a je platný pouze po omezenou dobu. Pokud sadu Visual Studio spárujete se vzdáleným agentem před vypršením platnosti času, budete muset vygenerovat nový PIN kód. Další informace najdete v tématu Vygenerování nového bezpečnostního PIN kódu.

Zakázání režimu zabezpečeného připojení

  • Pokud chcete zakázat zabezpečený režim připojení vcremote, zadejte tento příkaz v aplikaci Terminál na počítači Mac:

    vcremote --secure false

Povolení režimu zabezpečeného připojení

  • Pokud chcete povolit zabezpečený režim připojení, zadejte tento příkaz:

    vcremote --secure true

Jakmile spustíte vzdáleného agenta, můžete ho použít ze sady Visual Studio, dokud ho nezastavíte.

Zastavení vzdáleného agenta

  • V okně terminálu vcremote je spuštěna, zadejte Control+C.

Konfigurace vytvoření v sadě Visual Studio

Pokud se chcete připojit ke vzdálenému agentovi vcremote ze sady Visual Studio, musíte v možnostech sady Visual Studio zadat vzdálenou konfiguraci. Visual Studio používá stejné informace pro připojení ke vzdálenému agentu na macu pokaždé, když ho použijete. Visual Studio nemusíte znovu spárovat se vzdáleným agentem, pokud na Macu nevygenerujete nový certifikát zabezpečení nebo jeho název hostitele nebo změny IP adresy.

Konfigurace vcremote ze sady Visual Studio 2022 verze 17.5 a novější

  1. Pokud agent na macu ještě není spuštěný, postupujte podle pokynů v části Spuštění vzdáleného agenta. Aby bylo možné úspěšně spárovat, připojit a sestavit projekt, musí váš Mac spustit vcremote pro Visual Studio.

  2. Na počítači Mac získejte název hostitele nebo IP adresu počítače Mac.

    IP adresu můžete získat pomocí příkazu ifconfig v okně terminálu. inet Použijte adresu uvedenou v aktivním síťovém rozhraní.

  3. Na řádku nabídek sady Visual Studio zvolte Možnosti nástrojů>.

  4. V dialogovém okně Možnosti rozbalte multiplatformní>C++>iOS.

  5. Do polí Název hostitele a Port zadejte hodnoty zadané vzdáleným agentem při jeho spuštění. Název hostitele může být název DNS nebo IP adresa vašeho Počítače Mac. Výchozí port je 3030.

    Poznámka:

    Pokud nemůžete spustit příkaz ping na Počítač Mac pomocí názvu hostitele, možná budete muset použít IP adresu.

  6. Pokud používáte vzdáleného agenta ve výchozím zabezpečeném režimu připojení, zaškrtněte políčko Zabezpečené a přeneste server-cert.pem soubor z Macu do sady Visual Studio pro nahrání. Potom zvolte tlačítko Generovat a vygenerujte nový client-cert.pem soubor, který by se měl zobrazit na ploše. Potom přeneste klientský certifikát do počítače Mac v části /vcremote/certs/Authorized-Clients. (Do tohoto adresáře můžete přenést několik souborů klientských certifikátů, takže více autorizovaných počítačů Visual Studio může odesílat požadavky na tento Počítač Mac.)

    Poznámka:

    Pokud k přenosu certifikátů používáte usb disk, odstraňte certifikáty z usb disku po dokončení přenosu.

  7. Zvolením možnosti Spárování povolíte párování.

    Screenshot of the Tools Options dialog for iOS pairing. The host name, the port, the Secure checkbox, and the Remote Root values are set.

    Párování přetrvává, dokud nezměníte název hostitele, port nebo vygenerujete nový server nebo klientský certifikát. Pokud změníte název hostitele nebo port v dialogovém okně Možnosti , můžete kliknutím na tlačítko Zpět vrátit změnu zpět a vrátit se k předchozímu párování.

    Pokud párování není úspěšné, pomocí kroků v části Spuštění vzdáleného agenta ověřte, že je vzdálený agent spuštěný. Postupujte podle pokynů k vygenerování nového certifikátu serveru a vygenerování nového klientského certifikátu. Pokud používáte název hostitele počítače Mac, zkuste místo toho použít IP adresu v poli Název hostitele.

  8. Aktualizujte název složky v poli Vzdálený kořenový adresář a určete složku používanou vzdáleným agentem ve vašem domovském adresáři (~) na Macu. Ve výchozím nastavení používá /Users/<username>/vcremote vzdálený agent jako vzdálený kořen.

  9. Zvolte OK a uložte nastavení vzdáleného párování připojení.

Konfigurace vytvoření z verzí před sadou Visual Studio 2022 verze 17.5

  1. Pokud agent na macu ještě není spuštěný, postupujte podle pokynů v části Spuštění vzdáleného agenta. Aby bylo možné úspěšně spárovat, připojit a sestavit projekt, musí váš Mac spustit vcremote pro Visual Studio.

  2. Na počítači Mac získejte název hostitele nebo IP adresu počítače Mac.

    IP adresu můžete získat pomocí příkazu ifconfig v okně terminálu. inet Použijte adresu uvedenou v aktivním síťovém rozhraní.

  3. Na řádku nabídek sady Visual Studio zvolte Možnosti nástrojů>.

  4. V dialogovém okně Možnosti rozbalte multiplatformní>C++>iOS.

  5. Do polí Název hostitele a Port zadejte hodnoty zadané vzdáleným agentem při jeho spuštění. Název hostitele může být název DNS nebo IP adresa vašeho Počítače Mac. Výchozí port je 3030.

    Poznámka:

    Pokud nemůžete odeslat příkaz ping na Počítač Mac s použitím názvu hostitele, možná budete muset použít IP adresu.

  6. Pokud používáte vzdáleného agenta ve výchozím zabezpečeném režimu připojení, zaškrtněte políčko Zabezpečené a pak do pole Pin zadejte hodnotu PIN určené vzdáleným agentem. Pokud používáte vzdáleného agenta v nezabezpečeném režimu připojení, zrušte zaškrtnutí políčka Zabezpečené a pole Připnout nechte prázdné.

  7. Zvolením možnosti Spárování povolíte párování.

    Screenshot of the Tools Options dialog for iOS pairing. The host name, the port, the Secure checkbox, the pin, and the Remote Root values are set.

    Párování přetrvává, dokud nezměníte název hostitele nebo port. Pokud změníte název hostitele nebo port v dialogovém okně Možnosti , chcete-li změnu vrátit zpět, zvolte tlačítko Zpět a vraťte se k předchozímu párování.

    Pokud párování není úspěšné, pomocí kroků v části Spuštění vzdáleného agenta ověřte, že je vzdálený agent spuštěný. Pokud uplynulo příliš mnoho času od vygenerování kódu PIN vzdáleného agenta, postupujte podle kroků v části Vygenerování nového pin kódu zabezpečení. Opakujte. Pokud používáte název hostitele počítače Mac, zkuste místo toho použít IP adresu v poli Název hostitele.

  8. Aktualizujte název složky v poli Vzdálený kořenový adresář a určete složku používanou vzdáleným agentem ve vašem domovském adresáři (~) na Macu. Ve výchozím nastavení používá /Users/<username>/vcremote vzdálený agent jako vzdálený kořen.

  9. Zvolte OK a uložte nastavení vzdáleného párování připojení.

Vygenerování nového pin kódu zabezpečení

Platí pro: Visual Studio 2022 verze 17.4 a starší verze pomocí vcremote verze 1.0.17 a starší.

Při prvním spuštění vzdáleného agenta platí vygenerovaný PIN kód po omezenou dobu – ve výchozím nastavení 10 minut. Pokud sadu Visual Studio spárujete se vzdáleným agentem před vypršením platnosti času, budete muset vygenerovat nový PIN kód.

Vygenerování nového KÓDU PIN

  1. Zastavte agenta nebo otevřete druhé okno aplikace terminálu na počítači Mac a použijte ho k zadání příkazu.

  2. Do aplikace Terminál zadejte tento příkaz:

    vcremote generateClientCert

    Vzdálený agent vygeneruje nový dočasný PIN kód. Pokud chcete sadu Visual Studio spárovat pomocí nového KÓDU PIN, opakujte kroky v části Konfigurace vzdáleného agenta v sadě Visual Studio.

Vygenerování nového klientského certifikátu

Platí pro: Visual Studio 2022 verze 17.5 a novější verze pomocí vcremote verze 1.0.19 a novější.

Při párování v sadě Visual Studio vygenerujete nový client-cert.pem soubor. Přeneste soubor certifikátu do počítače mac buildu v části /vcremote/certs/Authorized-Clients. Tento certifikát umožňuje Macu autorizovat požadavky, které pocházejí z vašeho počítače se sadou Visual Studio.

Vygenerování nového certifikátu serveru

Platí pro: Visual Studio 2022 verze 17.5 a novější verze pomocí vcremote verze 1.0.19 a novější.

Pro účely zabezpečení jsou certifikáty serveru, které spárují Sadu Visual Studio se vzdáleným agentem, svázané s IP adresou nebo názvem hostitele vašeho Počítače Mac. Pokud se tyto hodnoty změní, musíte vygenerovat nový certifikát serveru a pak znovu nakonfigurovat Sadu Visual Studio s novými hodnotami.

Vygenerování nového certifikátu serveru

  1. Zastavte agenta vcremote .

  2. Do aplikace Terminál zadejte tento příkaz:

    vcremote resetServerCert

  3. Po zobrazení výzvy k potvrzení zadejte Y.

  4. Pokud chcete spárovat Sadu Visual Studio s Macem, přeneste nově vygenerovaný server-cert.pem soubor z Počítače Mac a nahrajte ho do sady Visual Studio a opakujte kroky v části Konfigurace vzdáleného agenta v sadě Visual Studio.

Konfigurace vcremote na Macu

Vzdálený agent můžete nakonfigurovat pomocí různých možností příkazového řádku. Můžete například zadat port, který bude naslouchat požadavkům sestavení, a zadat maximální počet sestavení, která se mají v systému souborů udržovat. Ve výchozím nastavení je limit 10 sestavení. Vzdálený agent odebere buildy, které při vypnutí překročí maximum.

Konfigurace vzdáleného agenta

  • Pokud chcete zobrazit úplný seznam příkazů vzdáleného agenta, zadejte v aplikaci Terminál:

    vcremote --help

  • Pokud chcete zakázat zabezpečený režim a povolit jednoduchá připojení založená na protokolu HTTP, zadejte:

    vcremote --secure false

    Pokud použijete tuto možnost, zrušte zaškrtnutí políčka Zabezpečení .

  • Pokud chcete zadat umístění pro soubory vzdáleného agenta, zadejte:

    vcremote --serverDir directory_path

    Nahraďte directory_path umístěním na počítači Mac a umístěte soubory protokolů, buildy a certifikáty serveru. Ve výchozím nastavení je /Users/<username>/vcremotetoto umístění . Sestavení jsou uspořádaná podle čísla buildu v tomto umístění.

  • Pokud chcete k zachycení stdout a stderr k souboru s názvem server.logpoužít proces na pozadí, zadejte:

    vcremote > server.log 2>&1 &

    Tento server.log soubor vám může pomoct s řešením potíží se sestavením.

  • Pokud chcete agenta spustit pomocí konfiguračního souboru místo parametrů příkazového řádku, zadejte:

    vcremote --config config_file_path

    Nahraďte config_file_path cestou ke konfiguračnímu souboru ve formátu JSON. Možnosti spuštění a jejich hodnoty nesmí obsahovat pomlčky.

Řešení potíží se vzdáleným agentem

Ladění na zařízení s iOSem

Pokud ladění na zařízení s iOSem nefunguje, může dojít k problémům s ideviceinstaller nástrojem, který se používá ke komunikaci se zařízením s iOSem. Tento nástroj je obvykle nainstalován z Homebrew během instalace vcremote. Jako alternativní řešení postupujte následovně:

Otevřete terminálovou aplikaci a aktualizujte ideviceinstaller její závislosti spuštěním následujících příkazů v pořadí:

  1. Ujistěte se, že je Homebrew aktualizovaný.

    brew update

  2. Odinstalace a odinstalace libimobiledeviceusbmuxd

    brew uninstall --ignore-dependencies libimobiledevice

    brew uninstall --ignore-dependencies usbmuxd

  3. Instalace nejnovější verze libimobiledevice a usbmuxd

    brew install --HEAD usbmuxd

    brew unlink usbmuxd

    brew link usbmuxd

    brew install --HEAD libimobiledevice

  4. Odinstalace a přeinstalace ideviceinstaller

    brew uninstall ideviceinstaller

    brew install ideviceinstaller

Ověřte, že se zařízením může komunikovat, a to tak, že ideviceinstaller se pokusíte zobrazit seznam aplikací nainstalovaných v zařízení:

ideviceinstaller -l

Pokud ideviceinstaller hlásí chybu, že nemá přístup ke složce, změňte oprávnění ke složce /var/db/lockdownpomocí tohoto příkazu:

sudo chmod 777 /var/db/lockdown

Potom znovu ověřte, jestli ideviceinstaller může komunikovat se zařízením.

Viz také