Ndarja e një projekti përmes rrjetit nuk e zhvendos Xcode, sepse aplikacioni vazhdon të ekzekutohet në Mac-un tuaj dhe vazhdon t'i kërkojë serverit të dhënat e projektit. Ekzekutimi i Xcode në Mac-un në distancë dhe shikimi i ekranit të tij është një rregullim tjetër, ku aplikacioni dhe skedarët e tij qëndrojnë bashkë dhe lidhja mbart vetëm shfaqjen dhe inputin tuaj. Vendosja se cilën prej tyre dëshironi, përpara se të konfiguroni çdo gjë, zgjidh pjesën më të madhe të konfuzionit të mëvonshëm.

Tre rregullime mbulojnë rastet e zakonshme dhe ndryshojnë në atë se ku jeton hapësira e punës dhe cila makinë përpilon. Shkruani përgjigjen për të dyja pikat përpara se të vazhdoni.

Emërtoni makinën që ekzekuton Xcode

Në rregullimin e parë gjithçka është lokale: kopja e punës, indeksi dhe ndërtimi jetojnë të gjitha në Mac-un tuaj, dhe rrjeti mbart vetëm trafikun e depove dhe varësive. Në të dytin projekti qëndron në Mac-un në distancë me Xcode, kështu që indeksimi dhe përpilimi ndodhin pranë skedarëve, ndërsa lidhja mbart përmbajtjen e ekranit dhe shtypjet e tasteve. Në të tretin redaktimi ndodh lokalisht dhe një ndërtim ekzekutohet në një host në distancë pas një dorëzimi të qartë të burimit. Tabela emërton atë që lëviz secili prej tyre.

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

Lexoni fillimisht kolonën e mesme, sepse ajo vendos ku do të shfaqen dështimet. Një rrjedhë pune me burim në distancë dështon kur lidhja është e ngadaltë, ndërsa një rrjedhë pune me përpilues në distancë dështon kur dorëzimi është i paqartë. Vetëm e treta ju bën përgjegjës për të dyja.

Numëroni udhëtimet vajtje-ardhje, jo megabajtët

Një redaktues dhe një indeksues lëshojnë shumë operacione të vogla skedarësh, dhe secili bëhet udhëtim vajtje-ardhje kur sistemi i skedarëve është në distancë. Kjo e bën një hapësirë pune të montuar të ndjeshme ndaj vonesës në një mënyrë që një kopje e vetme e madhe nuk është, prandaj matja e kohës së transferimit të një skedari nuk thotë pothuajse asgjë për atë se si ndihet rrjedha e punës. Shfaqja në distancë ka profilin e kundërt: lëviz një rrjedhë të vazhdueshme dhe e toleron xhiron më mirë se vonesën. Krahasimi i të dyjave me një numër të vetëm prodhon një përgjigje të gabuar me siguri.

Asnjë rregullim nuk është më i shpejti në natyrë. Zgjedhja e duhur varet nga puna që bëni në të vërtetë, prandaj hapi tjetër është të provoni atë punë, jo një test referimi.

Bëjeni dorëzimin e burimit të qartë

Kur të dyja makinat mbajnë një kopje pune, vendosni cila është autoritative dhe cilën rishikim përdori ndërtimi në distancë. Një commit është një dorëzim më i qartë se dy mjete që redaktojnë një pemë të vetme pune të montuar, sepse commit-i ka një identitet dhe montimi nuk ka. Rezultati i gjeneruar dhe të dhënat e indeksit kanë nevojë gjithashtu për një pronar, sepse rindërtohen nga burimi dhe nuk duhet të udhëtojnë sikur të ishin burim. Një pasqyrë dykahëshe pa rregulla konflikti nuk është rrjedhë pune, është garë.

Ndërtimi në distancë gjithashtu kërkon që hosti në distancë të ketë zinxhirin e duhur të mjeteve dhe kredencialet për varësitë private. Një VPN që ju lejon të arrini hostin nuk ia huazon atij aksesin në llogarinë tuaj dhe nuk instalon Xcode atje.

Kontrolloni rrugën përpara se të angazhoheni në një rrjedhë pune

Verifikoni hostin në distancë përpara se të ndërtoni rreth tij, pastaj matni lidhjen me operacionet që rrjedha e punës do të kryejë në të vërtetë. Komandat më poshtë kontrollojnë zinxhirin e mjeteve, direktorinë aktive të zhvilluesit dhe koston e vëzhgimit të skedarëve që i bën të dhimbshme hapësirat e punës në distancë. Ekzekutoni të fundit përmes rrugës së rrjetit, jo lokalisht.

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

Një host pa një instalim të plotë të Xcode kthen një gabim nga xcodebuild, që është problem i zinxhirit të mjeteve, jo i rrjetit. Direktoria e zhvilluesit tregon cilin Xcode do të përdorë ndërtimi, dhe një rrugë që tregon vetëm mjetet e vijës së komandës do të thotë që aplikacioni nuk është instaluar. Matja e kohës së komandës së statusit të depos përmes ndarjes së montuar zbulon drejtpërdrejt koston e udhëtimit vajtje-ardhje, dhe krahasimi me një ekzekutim lokal jep numrin që ka rëndësi. Nëse ai hendek është tashmë i pakëndshëm, rrjedha e punës me hapësirë pune të montuar do të jetë më e keqe nën një redaktues të vërtetë.

Shënoni cilin rregullim zgjodhët, cila makinë zotëron burimin dhe si funksionon dorëzimi. Ai shënim e kthen orientimin ose zëvendësimin e radhës të laptopit në një detyrë konfigurimi në vend të një hetimi.

Artikuj të ngjashëm