Parastais pieņēmums ir, ka attālinātās darbvirsmas sesija pārvieto visu izstrādes vidi uz jūsu klēpjdatoru. Tā pārvieto ekrānu, tastatūru un peli, un neko citu. iPhone ir jāsasniedz Mac, kurā darbojas Xcode, un tas ir atsevišķs savienojums ar savām uzticības, pārsūtīšanas un atļauju prasībām. Viss turpmākais izriet no šīs atdalīšanas, un tieši šeit lielākā daļa neizdevušos iestatījumu zaudē pusi dienas.

Mīts: attālinātā vadība pārvieto arī ierīci

Attālinātās darbvirsmas programmatūra pārsūta displeju un ievades straumi, un labā savienojumā šķiet, ka Mac sēž jums priekšā. Taču USB tā nepārsūta un telefonu Mac tīklā arī neievieto. Sesija beidzas Mac darbvirsmā, kur Xcode pēc saviem noteikumiem ir jāatrod ierīce. Pieņēmums, ka telefons ceļo kopā ar pikseļiem, ir visbiežākā kļūda šajā shēmā.

Abi savienojumi ir neatkarīgi, un viens var būt nevainojams, kamēr otrs neeksistē vispār. Darbvirsmas sesijas labošana neko nepasaka par ierīces ceļu.

Pirms kaut ko konfigurējat, izlemiet, kur telefons atrodas fiziski

Ja telefons paliek blakus Mac, tur veiciet parasto vietējo iestatīšanu: uzticieties datoram, ieslēdziet ierīcē izstrādātāja režīmu un apstipriniet, ka Xcode tajā būvē un palaiž, kamēr sēžat mašīnas priekšā. Pēc tam attālinātā darbvirsma vada jau strādājošu darbplūsmu. Tas ir lētākais risinājums un tas, kas jāizvēlas, kad aparatūra to pieļauj.

Ja telefons ceļo kopā ar jums un Mac paliek birojā, Mac ir vajadzīgs atbalstīts ceļš uz šo ierīci. VPN nodrošina tīkla maršrutu starp abiem galiem un neko citu: savienošana pārī, izstrādātāja režīms, parakstīšanas identitāte un ierīces reģistrācija paliek atsevišķas prasības. Uzskatiet tuneli par vienu slāni kaudzē, nevis par pašu savienojumu.

Pierakstiet, kurā no šīm divām shēmām jūs esat. Katra turpmākā pārbaude no tā ir atkarīga, un to sajaukšana rada labojumus, kas nevar strādāt.

Uzskatiet atklāšanu un pārsūtīšanu par divām dažādām problēmām

Xcode atrod savienotās bezvadu ierīces, izmantojot Bonjour vietējā tīklā, un tas var arī sasniegt ierīci zināmā adresē, izmantojot Connect via IP Address. Tie ir divi mehānismi ar diviem atšķirīgiem atteices veidiem. Ierīce, kas nekad neparādās sarakstā, un ierīce, kas parādās, bet atsakās pievienoties, nav viens un tas pats simptoms, lai gan abas izskatās kā pazudis telefons.

Pirms kaut ko mainīt, meklējiet reklāmu: dns-sd -B _apple-mobdev2._tcp uzskaita pakalpojumu, ko savienotais telefons publicē vietējā saitē. Ja nekas neparādās, atklāšana ir bojātais slānis, un paliek tikai uz adresi balstīts savienojums. Ja pakalpojums parādās, bet Xcode joprojām nevar pievienoties, atklāšana strādā, un neizdodas pārsūtīšana vai uzticības attiecības.

Apple bezvadu ierīču palīdzība aptver gan viena tīkla prasību, gan adreses darbplūsmu, tāpēc lasiet to pretī instalētajām versijām, nevis sekojiet izvēlnes ceļam, kas atcerēts no vecāka laidiena. Izvēlnes nosaukumi mainās starp Xcode laidieniem pat tad, ja mehānisms zem tiem nemainās.

Pārbaudiet, ko Mac redz no savas vietas

Palaidiet uzskaitījumu Mac, nevis klēpjdatorā, jo Mac ir tā mašīna, kurai ierīce ir vajadzīga. xcrun devicectl list devices izdrukā ierīces, ko Xcode var sasniegt, un system_profiler SPUSBDataType parāda, kas ir fiziski pievienots. Telefons, kas parādās otrajā sarakstā, bet ne pirmajā, ir pievienots un nav savienots pārī, un tā ir uzticības, nevis tīkla problēma.

xcrun devicectl list devices
system_profiler SPUSBDataType | grep -i iphone
xcrun devicectl device info DEVICE_UDID

Ja ierīce atrodas citā apakštīklā, apstipriniet, ka Mac var sasniegt adresi, ko publicē telefons, un atcerieties, ka link-local IPv6 adreses attiecas uz vienu saiti un netiek maršrutētas caur tuneli. Tāpēc viens VPN reti padara attālināto telefonu redzamu: adresei, ko ierīce reklamē, ir nozīme tikai tās pašas segmentā.

Apple tehniskā piezīme TN3158 norāda, ka no 15 versijas Xcode sazinās ar kabeli pievienotu ierīci pa tīkla interfeisu, kas veidots uz link-local IPv6, tāpēc vietējā filtrēšana var traucēt arī fiziski pievienotam telefonam. Nododiet šādu gadījumu tam, kam pieder filtrēšanas politika, nevis izslēdziet to paši.

Pierādiet to ar būvējumu, nevis ar ierīces ikonu

Ierīces ieraksts sarakstā, zaļš indikators rīkjoslā vai veiksmīgs savienošanas pārī uzvedne ir starpnovērojumi. Darbplūsma ir pierādīta, kad Xcode instalē atļautu būvējumu un atkļūdotājs pievienojas ierīcē darbojošam procesam.

Palaidiet visu secību no Mac. xcrun devicectl device install app --device DEVICE_UDID build/MyApp.app instalē bez IDE, kas atdala Xcode saskarnes problēmu no ierīces ceļa problēmas. Pēc tam palaidiet lietotni un pievienojiet tai konsoli. Ja instalēšana no komandrindas strādā, bet IDE ne, atlikušais defekts ir shēmā vai parakstīšanas konfigurācijā, nevis tīklā.

Turiet shēmu šauru: viens pilnvarots izstrādātājs, viens reģistrēts Mac, viena ierīce un piekļuve, kas beidzas, kad beidzas sesija. Atsauciet akreditācijas datus, kad shēma beidzas. Ja telefons var vienkārši palikt blakus Mac, izvēlieties to, jo vienkāršākais atbalstītais ceļš ir tas ar vismazāk slāņiem, kas jāatkļūdo.

Saistītie raksti