Dela via


Installera och konfigurera verktyg för att skapa med iOS

Du kan använda Visual Studio med plattformsoberoende mobilutveckling med C++ -verktyg för att redigera, felsöka och distribuera iOS-kod till iOS-simulatorn eller till en iOS-enhet. Men på grund av licensbegränsningar måste koden skapas och köras på distans på en Mac. Om du vill skapa och köra iOS-appar med Visual Studio måste du konfigurera fjärragenten, vcremote, på din Mac. Fjärragenten vcremote hanterar byggbegäranden från Visual Studio och kör appen på en iOS-enhet som är ansluten till Mac eller i iOS-simulatorn på Mac.

Anmärkning

Information om hur du använder molnbaserade Mac-tjänster i stället för en Mac finns i Konfigurera Visual Studio för att ansluta till din molnbaserade Mac. Anvisningarna är till för att skapa med Visual Studio Tools för Apache Cordova. Om du vill använda anvisningarna för att skapa med C++ersätter du vcremoteremotebuildmed .

När du har installerat verktygen för att skapa med iOS kan du läsa den här artikeln igen. Den beskriver olika sätt att snabbt konfigurera och uppdatera vcremote för iOS-utveckling i Visual Studio och på din Mac.

Förutsättningar

Om du vill installera och använda fjärragenten vcremote för att utveckla kod för iOS måste du först ha följande förutsättningar:

  • En Mac-dator som kör macOS Mojave version 10.14 eller senare

  • Ett Apple-ID

  • Ett aktivt Apple Developer Program-konto

    Du kan få ett kostnadsfritt konto som tillåter separat inläsning av appar till en iOS-enhet för testning, men inte för distribution.

  • Xcode version 10.2.1 eller senare

    Xcode kan laddas ned från App Store.

  • Xcode-kommandoradsverktyg

    Om du vill installera Xcode-kommandoradsverktygen öppnar du terminalappen på din Mac och anger följande kommando:

    xcode-select --install

  • Ett Apple ID-konto som konfigurerats i Xcode som en signeringsidentitet för att signera appar

    Om du vill se eller ange din signeringsidentitet i Xcode öppnar du Xcode-menyn och väljer Inställningar. Välj Konton och välj ditt Apple-ID och välj sedan knappen Visa information . Mer information finns i Lägga till ditt Apple-ID-konto .

    Detaljerad information om signeringskrav finns i Vad är appsignering?

  • Om du använder en iOS-enhet för utveckling konfigureras en etableringsprofil i Xcode för enheten

    Xcode tillhandahåller automatisk signering, där det skapar signeringscertifikat åt dig efter behov. Detaljerad information om automatisk Xcode-signering finns i automatisk signering.

    Om du vill göra manuell signering måste du skapa en provisioneringsprofil för din app. Detaljerad information om hur du skapar etableringsprofiler finns i Skapa en utvecklingsetableringsprofil.

  • Node.js version 18.12.1 och npm version 8.19.2

    Installera version 18.12.1 av Node.js på din Mac. Om du installerar Node.js-paketet bör det levereras med npm version 8.19.2. Andra versioner av Node.js och npm kanske inte stöder vissa moduler som används i vcremote, vilket kan orsaka att vcremote-installationen misslyckas. Vi rekommenderar att du installerar Node.js med hjälp av en pakethanterare som Node Version Manager. Undvik att använda kommandot sudo för att installera Node.jseftersom vissa moduler inte kan installeras när du använder sudo.

Installera vcremote för iOS

När du installerar arbetsbelastningen för mobil utveckling med C++ kan Visual Studio kommunicera med fjärragenten vcremote som körs på Mac-datorn för att överföra filer, bygga och köra din iOS-app samt skicka felsökningskommandon.

Innan du installerar vcremote kontrollerar du att du har uppfyllt kraven och slutfört installationsstegen i Installera plattformsoberoende mobilutveckling med C++.

Så här laddar du ned och installerar vcremote

  • Kontrollera att den Node.js version som används för närvarande är nödvändig version 18.12.1 från terminalappen på mac-datorn. Kontrollera versionen genom att köra kommandot:

    node -v

    Om det inte är rätt version kan du behöva följa installationsanvisningarna för Node.js i förkraven. Starta sedan om Node.js.

  • När du har kontrollerat att den nödvändiga Node.js används kör du det här kommandot för att installera vcremote under den Node.js versionen:

    npm install -g --unsafe-perm vcremote

    Den globala installationsväxeln (-g) rekommenderas, men krävs inte. Om du inte använder den globala installationsväxeln installeras vcremote under den aktuella aktiva sökvägen i Terminal-appen.

    Under installationen vcremote installeras och utvecklarläget aktiveras på din Mac. Homebrew och två npm-paket, vcremote-lib och vcremote-utils, installeras också. När installationen slutförts kan du tryggt ignorera eventuella varningar om överhoppade valfria beroenden.

    Anmärkning

    Om du vill installera Homebrew måste du ha sudo-åtkomst (administratör). Om du behöver installera vcremote utan sudo kan du installera Homebrew manuellt på en usr/local plats och lägga till dess bin mapp i sökvägen. Mer information finns i Homebrew-dokumentationen. Om du vill aktivera utvecklarläge manuellt anger du det här kommandot i Terminal-appen: DevToolsSecurity -enable

Om du uppdaterar till en ny version av Visual Studio måste du även uppdatera till den aktuella versionen av vcremote. Om du vill uppdatera vcremote upprepar du stegen för att ladda ned och installera fjärragenten.

Starta vcremote

Fjärragenten vcremote måste köras för att Visual Studio ska kunna skapa och köra din iOS-kod. Visual Studio måste kopplas ihop med vcremote innan det kan kommunicera. Som standard körs vcremote i skyddat anslutningsläge, vilket kräver överföring av klient- och servercertifikat mellan Visual Studio- och Mac-datorerna.

Anmärkning

Version 1.0.19 eller senare av vcremote kräver minst Visual Studio 2022 version 17.5.0 Förhandsversion 1 eller senare. Om du använder Visual Studio 2022 version 17.4 eller en tidigare version installerar du vcremote version 1.0.17.

Starta vcremote

  • Från Terminal-appen på din Mac anger du:

    vcremote

    Det här kommandot startar fjärragenten med en standardversionskatalog på ~/vcremote. Fler konfigurationsalternativ finns i Konfigurera vcremote på Mac.

Första gången du startar vcremote och varje gång du skapar ett nytt servercertifikat får du den information som krävs för att konfigurera anslutningen i Visual Studio. Informationen innehåller värdnamnet och porten. Om du tänker konfigurera fjärragenten i Visual Studio med hjälp av värdnamnet pingar du Mac-datorn från Windows med hjälp av värdnamnet för att kontrollera att den kan nås. Annars kan du behöva använda IP-adressen i stället.

Du kan använda fjärragenten i oskyddat läge. I oskyddat läge kan fjärragenten kopplas till Visual Studio med hjälp av en enkel HTTP-anslutning som inte krypterar data. Använd oskyddat läge på egen risk. Vi rekommenderar att du använder ett säkert läge för att ansluta:

Visual Studio 2022 version 17.5 och senare med vcremote 1.0.19 och senare:

I vcremote 1.0.19 och senare rapporterar vcremote sökvägen till en server-cert.pem certifikatfil som måste laddas upp till Visual Studio.

Visual Studio 2022 version 17.4 och tidigare versioner med vcremote 1.0.17 och tidigare:

Version 1.0.17 och äldre versioner av vcremote genererar en PIN-kod för säker kommunikation med versioner av Visual Studio via Visual Studio 2022 version 17.4.

Skärmbild av Mac-terminalfönstret som visar värdnamnet, porten och PIN-koden som rapporteras när VC-fjärranslutningen startas.

Den genererade PIN-koden är för engångsanvändning och är endast giltig under en begränsad tid. Om du inte parkopplar Visual Studio med fjärragenten innan tiden går ut måste du generera en ny PIN-kod. Mer information finns i Generera en ny pin-kod för säkerhet.

Inaktivera skyddat anslutningsläge

  • Om du vill inaktivera skyddat anslutningsläge i vcremote anger du det här kommandot i Terminal-appen på din Mac:

    vcremote --secure false

Aktivera skyddat anslutningsläge

  • Om du vill aktivera skyddat anslutningsläge anger du följande kommando:

    vcremote --secure true

När du har startat fjärragenten kan du använda den från Visual Studio tills du stoppar den.

Stoppa fjärragenten

  • I terminalfönstret där vcremote körs anger du Ctrl+C.

Konfigurera vcremote i Visual Studio

Om du vill ansluta till fjärragenten vcremote från Visual Studio måste du ange fjärrkonfigurationen i Visual Studio-alternativen. Visual Studio använder samma information för att ansluta till fjärragenten på din Mac varje gång du använder den. Du behöver inte parkoppla Visual Studio med fjärragenten igen om du inte genererar ett nytt säkerhetscertifikat på din Mac, eller om dess värdnamn eller IP-adress ändras.

Konfigurera vcremote från Visual Studio 2022 version 17.5 och senare

  1. Om agenten inte redan körs på din Mac följer du stegen i Starta fjärragenten. Mac-datorn måste köra vcremote för att Visual Studio ska kunna koppla ihop, ansluta och bygga projektet.

  2. På mac-datorn hämtar du värdnamnet eller IP-adressen för din Mac.

    Du kan hämta IP-adressen med hjälp av kommandot ifconfig i ett terminalfönster. Använd adressen inet som anges under det aktiva nätverksgränssnittet.

  3. På menyraden i Visual Studio väljer du Verktygsalternativ>.

  4. I dialogrutan Alternativ expandera Plattformsoberoende>C++>iOS.

  5. I fälten Värdnamn och Port anger du de värden som angavs av fjärragenten när du startade den. Värdnamnet kan vara DNS-namnet eller IP-adressen för din Mac. Standardporten är 3030.

    Anmärkning

    Om du inte kan pinga Mac-datorn med värdnamnet kan du behöva använda IP-adressen.

  6. Om du använder fjärragenten i standardläget för säker anslutning markerar du kryssrutan Säker och överför server-cert.pem filen från Mac till Visual Studio för uppladdning. Välj sedan knappen Generera för att generera en ny client-cert.pem fil som ska visas på skrivbordet. Överför sedan klientcertifikatet till Mac-datorn under /vcremote/certs/Authorized-Clients. (Du kan överföra flera klientcertifikatfiler till den här katalogen, så att flera auktoriserade Visual Studio-datorer kan skicka begäranden till den här Mac-datorn.)

    Anmärkning

    Om du använder en USB-enhet för att överföra certifikat tar du bort certifikaten från USB-enheten när överföringen är klar.

  7. Välj Par för att aktivera parkopplingen.

    Skärmbild av dialogrutan Verktygsalternativ för iOS-parkoppling. Värdnamnet, porten, kryssrutan Skydda och fjärrrotsvärdena anges.

    Parkopplingen bevaras tills du ändrar värdnamnet, porten eller genererar en ny server eller ett nytt klientcertifikat. Om du ändrar värdnamnet eller porten i dialogrutan Alternativ kan du välja knappen Återställ för att ångra ändringen och återgå till föregående parkoppling.

    Om parkopplingen inte lyckas kontrollerar du att fjärragenten körs genom att följa stegen i Starta fjärragenten. Följ stegen för att generera ett nytt servercertifikat och generera ett nytt klientcertifikat. Om du använder värdnamnet för din Mac kan du prova att använda IP-adressen i fältet Värdnamn i stället.

  8. Uppdatera mappnamnet i fältet Fjärrrot för att ange den mapp som används av fjärragenten i din hemkatalog (~) på Mac. Som standard använder fjärragenten /Users/<username>/vcremote som fjärrrot.

  9. Spara anslutningsinställningarna för fjärrparning genom att välja OK .

Konfigurera vcremote från versioner före Visual Studio 2022 version 17.5

  1. Om agenten inte redan körs på din Mac följer du stegen i Starta fjärragenten. Mac-datorn måste köra vcremote för att Visual Studio ska kunna koppla ihop, ansluta och bygga projektet.

  2. På mac-datorn hämtar du värdnamnet eller IP-adressen för din Mac.

    Du kan hämta IP-adressen med hjälp av kommandot ifconfig i ett terminalfönster. Använd adressen inet som anges under det aktiva nätverksgränssnittet.

  3. På menyraden i Visual Studio väljer du Verktygsalternativ>.

  4. I dialogrutan Alternativ expandera Plattformsoberoende>C++>iOS.

  5. I fälten Värdnamn och Port anger du de värden som angavs av fjärragenten när du startade den. Värdnamnet kan vara DNS-namnet eller IP-adressen för din Mac. Standardporten är 3030.

    Anmärkning

    Om du inte kan pinga Mac-datorn med värdnamnet kan du behöva använda IP-adressen.

  6. Om du använder fjärragenten i standardläget för skyddad anslutning markerar du kryssrutan Säker och anger sedan det PIN-värde som anges av fjärragenten i fältet Fäst . Om du använder fjärragenten i oskyddat anslutningsläge avmarkerar du kryssrutan Säker och lämnar fältet Fäst tomt.

  7. Välj Par för att aktivera parkopplingen.

    Skärmbild av dialogrutan Verktygsalternativ för iOS-parkoppling. Värdnamnet, porten, kryssrutan Skydda, pin-koden och fjärrrotsvärdena anges.

    Parkopplingen bevaras tills du ändrar värdnamnet eller porten. Om du ändrar värdnamnet eller porten i dialogrutan Alternativ kan du ångra ändringen genom att välja knappen Återställ för att återgå till föregående parkoppling.

    Om parkopplingen inte lyckas kontrollerar du att fjärragenten körs genom att följa stegen i Starta fjärragenten. Om det har gått för lång tid sedan pin-koden för fjärragenten genererades följer du stegen i Generera en ny pin-kod för säkerhet. Försök sedan igen. Om du använder värdnamnet för din Mac kan du prova att använda IP-adressen i fältet Värdnamn i stället.

  8. Uppdatera mappnamnet i fältet Fjärrrot för att ange den mapp som används av fjärragenten i din hemkatalog (~) på Mac. Som standard använder fjärragenten /Users/<username>/vcremote som fjärrrot.

  9. Spara anslutningsinställningarna för fjärrparning genom att välja OK .

Generera en ny pin-kod för säkerhet

Gäller för: Visual Studio 2022 version 17.4 och tidigare versioner med vcremote version 1.0.17 och tidigare.

När du startar fjärragenten första gången är den genererade PIN-koden giltig under en begränsad tid – som standard 10 minuter. Om du inte kopplar Visual Studio till fjärragenten innan tiden går ut måste du generera en ny PIN-kod.

Generera en ny PIN-kod

  1. Stoppa agenten eller öppna ett andra terminalappfönster på din Mac och använd det för att ange kommandot.

  2. Ange det här kommandot i Terminal-appen:

    vcremote generateClientCert

    Fjärragenten genererar en ny tillfällig PIN-kod. Om du vill parkoppla Visual Studio med hjälp av den nya PIN-koden upprepar du stegen i Konfigurera fjärragenten i Visual Studio.

Generera ett nytt klientcertifikat

Gäller för: Visual Studio 2022 version 17.5 och senare versioner med vcremote version 1.0.19 och senare.

När du parkopplar i Visual Studio genererar du en ny client-cert.pem fil. Överför certifikatfilen till Mac-byggdatorn under /vcremote/certs/Authorized-Clients. Med det här certifikatet kan Mac auktorisera begäranden som kommer från din Visual Studio-dator.

Generera ett nytt servercertifikat

Gäller för: Visual Studio 2022 version 17.5 och senare versioner med vcremote version 1.0.19 och senare.

I säkerhetssyfte är servercertifikaten som parkopplar Visual Studio med fjärragenten knutna till IP-adressen eller värdnamnet för din Mac. Om dessa värden ändras måste du generera ett nytt servercertifikat och sedan konfigurera om Visual Studio med de nya värdena.

Generera ett nytt servercertifikat

  1. Stoppa vcremote agenten.

  2. Ange det här kommandot i Terminal-appen:

    vcremote resetServerCert

  3. När du uppmanas att bekräfta anger du Y.

  4. Om du vill parkoppla Visual Studio med Mac överför du den nyligen genererade server-cert.pem filen från Mac och laddar upp den till Visual Studio och upprepar stegen i Konfigurera fjärragenten i Visual Studio.

Konfigurera vcremote på Mac

Du kan konfigurera fjärragenten med hjälp av olika kommandoradsalternativ. Du kan till exempel ange porten för att lyssna efter byggbegäranden och ange det maximala antalet versioner som ska underhållas i filsystemet. Som standard är gränsen 10 versioner. Fjärragenten tar bort versioner som överskrider maxgränsen vid avstängning.

Så här konfigurerar du fjärragenten

  • Om du vill se en fullständig lista över fjärragentkommandon går du till terminalappen och anger:

    vcremote --help

  • Om du vill inaktivera säkert läge och aktivera enkla HTTP-baserade anslutningar anger du:

    vcremote --secure false

    När du använder det här alternativet avmarkerar du kryssrutan Skydda .

  • Ange en plats för fjärragentfiler genom att ange:

    vcremote --serverDir directory_path

    Ersätt directory_path med platsen på din Mac för att placera loggfiler, byggen och servercertifikat. Som standard är den här platsen /Users/<username>/vcremote. Byggen ordnas efter byggnummer på den här platsen.

  • Om du vill använda en bakgrundsprocess för att avbilda stdout och stderr till en fil med namnet server.loganger du:

    vcremote > server.log 2>&1 &

    Filen server.log kan hjälpa dig att felsöka byggproblem.

  • Om du vill köra agenten med hjälp av en konfigurationsfil i stället för kommandoradsparametrar anger du:

    vcremote --config config_file_path

    Ersätt config_file_path med sökvägen till en konfigurationsfil i JSON-format. Startalternativen och deras värden får inte innehålla bindestreck.

Felsöka fjärragenten

Felsökning på en iOS-enhet

Om felsökning på en iOS-enhet inte fungerar kan det uppstå problem med ideviceinstaller verktyget, som används för att kommunicera med en iOS-enhet. Det här verktyget installeras vanligtvis från Homebrew under installationen av vcremote. Följ nästa steg som en lösning:

Öppna terminalappen och uppdatera ideviceinstaller och dess beroenden genom att köra följande kommandon i ordning:

  1. Kontrollera att Homebrew har uppdaterats

    brew update

  2. Avinstallera libimobiledevice och usbmuxd

    brew uninstall --ignore-dependencies libimobiledevice

    brew uninstall --ignore-dependencies usbmuxd

  3. Installera den senaste versionen av libimobiledevice och usbmuxd

    brew install --HEAD usbmuxd

    brew unlink usbmuxd

    brew link usbmuxd

    brew install --HEAD libimobiledevice

  4. Avinstallera och installera om ideviceinstaller

    brew uninstall ideviceinstaller

    brew install ideviceinstaller

Kontrollera att ideviceinstaller kan kommunicera med enheten genom att försöka lista de appar som är installerade på enheten:

ideviceinstaller -l

Om ideviceinstaller rapporterar ett fel om att den inte kan komma åt mappen /var/db/lockdownändrar du behörigheten för mappen med hjälp av det här kommandot:

sudo chmod 777 /var/db/lockdown

Kontrollera sedan igen om ideviceinstaller kan kommunicera med enheten.

Se även