Proiektu bat sarean partekatzeak ez du Xcode lekualdatzen, aplikazioak zure Mac-en lanean jarraitzen duelako eta zerbitzariari proiektuaren datuak eskatzen jarraitzen duelako. Urruneko Mac-en Xcode exekutatzea eta haren pantaila ikustea beste antolaketa bat da: aplikazioa eta bere fitxategiak elkarrekin geratzen dira, eta estekaren bidez pantaila eta zure sarrera soilik garraiatzen dira. Bi horietatik zein nahi duzun erabakitzeak, ezer konfiguratu aurretik, geroagoko nahasmenaren zatirik handiena konpontzen du.

Hiru antolaketak ohiko kasuei erantzuten diete, eta desberdinak dira lan-eremua non bizi den eta zein makinak konpilatzen duen. Idatzi bi puntuei buruzko zure erantzuna jarraitu aurretik.

Izenda ezazu Xcode exekutatzen duen makina

Lehen antolaketan dena tokikoa da: lan-kopia, indizea eta konpilazioa zure Mac-en bizi dira, eta sareak biltegiko eta mendekotasunen trafikoa soilik eramaten du. Bigarrenean proiektuak Xcode-ekin jarraitzen du urruneko Mac-en, beraz indexatzea eta konpilazioa fitxategien ondoan gertatzen dira, eta estekak pantailako edukia eta tekla-sakatzeak eramaten ditu. Hirugarrenean editatzea tokian gertatzen da eta konpilazioa urruneko ostalari batean exekutatzen da iturriaren berariazko entrega baten ondoren. Taulak izendatzen du zer mugitzen duen bakoitzak.

ArrangementWhere the source livesWhat crosses the link
Everything localLocal diskRepository and dependency traffic
Remote Xcode, screen sharedRemote diskDisplay frames and input events
Local edit, remote buildBoth, with a handoffSource transfer, then build output

Irakurri erdiko zutabea lehenik, hark erabakitzen baitu non agertuko diren hutsegiteak. Iturria urrun duen lan-fluxua esteka motelekoa denean huts egiten du, eta urruneko konpilatzailea duen lan-fluxuak, berriz, entrega anbiguoa denean. Hirugarrenak soilik egiten zaitu biengatik erantzule.

Zenba itzazu joan-etorriak, ez megabyteak

Editore batek eta indexatzaile batek fitxategi-eragiketa txiki asko egiten dituzte, eta bakoitza joan-etorri bihurtzen da fitxategi-sistema urrun dagoenean. Horrek muntatutako lan-eremua latentziarekiko sentikor egiten du, kopia handi bakar bat sentikor ez den moduan, eta horregatik fitxategi-transferentzia baten denbora neurtzeak ia ezer ez dizu esaten lan-fluxuak nola sentitzen duen. Urruneko pantailak kontrako profila du: etengabeko korrontea mugitzen du eta zurrunbiloari atzerapenari baino hobeto eusten dio. Biak zenbaki bakar batekin alderatzeak ziurtasun handiko erantzun okerra sortzen du.

Antolaketa batek ere ez da berez azkarrena. Aukera zuzena benetan egiten duzun lanaren araberakoa da, eta horregatik hurrengo urratsa lana bera probatzea da, erreferentzia bat ez.

Egin iturriaren entrega berariazko

Bi makinek lan-kopia dutenean, erabaki zein den autoritatezkoa eta zein bertsio erabili zuen urruneko konpilazioak. Commit bat entrega argiagoa da zuhaitz lan muntatu bakarra editatzen duten bi tresnak baino, commitek identitatea baitu eta muntaiak ez. Sortutako irteerak eta indize-datuek ere jabea behar dute, iturritik berreraikitzen baitira eta ez bailukete bidaiatu iturri balira bezala. Konfliktuei buruzko araurik gabeko bi noranzko ispilua ez da lan-fluxua, lasterketa baizik.

Urrutitik konpilatzeak ere eskatzen du urruneko ostalariak tresna-kate egokia izatea eta mendekotasun pribatuetarako kredentzialak. Ostalarira iristeko aukera ematen dizun VPN batek ez dio zure konturako sarbidea uzten eta ez du Xcode han instalatzen.

Egiaztatu bidea lan-fluxu batekin konprometitu aurretik

Egiaztatu urruneko ostalaria haren inguruan diseinatu aurretik, eta gero neurtu esteka lan-fluxuak benetan egingo dituen eragiketekin. Beheko aginduek tresna-katea, garatzaile-direktorio aktiboa eta urruneko lan-eremuak mingarri egiten dituen fitxategi-behaketaren kostua egiaztatzen dituzte. Exekutatu azkena sare-bidearen bidez, ez tokian.

xcode-select -p
xcodebuild -version
ssh mac-builder 'xcodebuild -version'
time git status --porcelain

Xcode instalazio osoa ez duen ostalari batek errore bat itzultzen du xcodebuild-etik, eta hori tresna-katearen arazoa da, ez sarearena. Garatzaile-direktorioak erakusten du zein Xcode erabiliko duen konpilazioak, eta komando-lerroko tresnetara soilik seinalatzen duen bide batek aplikazioa instalatuta ez dagoela esan nahi du. Biltegiko egoera-komandoaren denbora neurtzeak muntatutako partekatzearen bidez joan-etorriaren kostua zuzenean agerian uzten du, eta tokiko exekuzio batekin alderatzeak garrantzitsua den zenbakia ematen du. Hutsune hori dagoeneko desatsegina bada, lan-eremu muntatuaren lan-fluxua okerragoa izango da editore erreal baten pean.

Erregistratu zein antolaketa aukeratu zenuen, zein makinak duen iturria eta nola funtzionatzen duen entrega. Ohar horrek hurrengo sarrera edo ordenagailu eramangarriaren ordezkapena ikerketa beharrean konfigurazio-zeregin bihurtzen du.

Erlazionatutako artikuluak