Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
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 vcremote
remotebuild
med .
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
ochvcremote-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 dessbin
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.
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
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.
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.På menyraden i Visual Studio väljer du Verktygsalternativ>.
I dialogrutan Alternativ expandera Plattformsoberoende>C++>iOS.
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.
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 nyclient-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.
Välj Par för att aktivera parkopplingen.
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.
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.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
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.
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.På menyraden i Visual Studio väljer du Verktygsalternativ>.
I dialogrutan Alternativ expandera Plattformsoberoende>C++>iOS.
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.
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.
Välj Par för att aktivera parkopplingen.
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.
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.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
Stoppa agenten eller öppna ett andra terminalappfönster på din Mac och använd det för att ange kommandot.
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
Stoppa
vcremote
agenten.Ange det här kommandot i Terminal-appen:
vcremote resetServerCert
När du uppmanas att bekräfta anger du
Y
.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
ochstderr
till en fil med namnetserver.log
anger 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:
Kontrollera att Homebrew har uppdaterats
brew update
Avinstallera
libimobiledevice
ochusbmuxd
brew uninstall --ignore-dependencies libimobiledevice
brew uninstall --ignore-dependencies usbmuxd
Installera den senaste versionen av
libimobiledevice
ochusbmuxd
brew install --HEAD usbmuxd
brew unlink usbmuxd
brew link usbmuxd
brew install --HEAD libimobiledevice
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.