iPhone'i ei saa lihtsalt Xcode'i jaoks kauge Maci külge ühendada
Kaugtöölaud näitab teile Xcode'i, mitte teie laual olevat iPhone'i. Siduge seade Maciga, mis ehitab, ja käsitlege avastamist transportimisest eraldi.
Tavaline eeldus on, et kaugtöölaua seanss viib kogu arenduskeskkonna teie sülearvutisse. See viib ekraani, klaviatuuri ja hiire ning mitte midagi muud. iPhone peab jõudma Macini, kus Xcode töötab, ja see on eraldi ühendus, millel on oma usalduse, transpordi ja lubade nõuded. Kõik alljärgnev tuleneb sellest jaotusest ja just seal kaotavad enamik ebaõnnestunud seadistusi ühe pärastlõuna.
Müüt: kaugjuhtimine liigutab ka seadet
Kaugtöölaua tarkvara edastab ekraani ja sisendvoo ning hea ühenduse korral tundub, nagu istuks Mac teie ees. Mida see ei edasta, on USB, ja see ei aseta telefoni ka Maci võrku. Seanss lõpeb Maci töölaual, kus Xcode peab seejärel leidma seadme oma reeglite järgi. Eeldus, et telefon rändab pikslitega kaasa, on selles lahenduses kõige tavalisem viga.
Kaks ühendust on sõltumatud ja üks võib olla täiuslik, samal ajal kui teist pole üldse olemas. Töölaua seansi parandamine ei ütle teile seadme teekonna kohta midagi.
Otsustage, kus telefon füüsiliselt asub, enne kui midagi seadistate
Kui telefon jääb Maci kõrvale, tehke seal tavaline kohalik seadistus: usaldage arvutit, lubage seadmes arendajarežiim ja kinnitage, et Xcode ehitab ja käivitab sellele, kui istute masina ees. Siis juhib kaugtöölaud töövoogu, mis juba toimib. See on odavaim lahendus ja see, mida tasub eelistada, kui riistvara seda lubab.
Kui telefon reisib koos teiega ja Mac jääb kontorisse, vajab Mac selle seadmeni toetatud teed. VPN pakub võrgutee kahe otsa vahel ega pakku midagi muud: sidumine, arendajarežiim, allkirjastamise identiteet ja seadme registreerimine jäävad kõik eraldi nõueteks. Käsitle tunnelit kui üht kihti virnas, mitte kui ühendust ennast.
Kirjutage üles, kummas kahest lahendusest te olete. Iga järgnev kontroll sõltub sellest ja nende segamine annab parandusi, mis ei saa toimida.
Käsitlege avastamist ja transporti kahe erineva probleemina
Xcode leiab seotud traadita seadmed Bonjour kaudu kohalikus võrgus ja pääseb ka teadaoleval aadressil olevale seadmele ligi käsuga Connect via IP Address. Need on kaks mehhanismi kahe erineva tõrkeviisiga. Seade, mis ei ilmu kunagi nimekirja, ja seade, mis ilmub, kuid keeldub ühendumast, ei ole sama sümptom, kuigi mõlemad loetakse puuduva telefonina.
Uurige kuulutust enne, kui midagi muudate: dns-sd -B _apple-mobdev2._tcp loetleb teenuse, mida seotud telefon kohalikus lingis avaldab. Kui midagi ei ilmu, on katki avastamise kiht ja aadressipõhine ühendus on ainus järelejäänud tee. Kui teenus ilmub, kuid Xcode ei saa ikka ühenduda, töötab avastamine ja ebaõnnestub transport või usaldussuhe.
Apple'i traadita seadmete abi katab nii sama võrgu nõude kui ka aadressi töövoo, seega lugege seda oma paigaldatud versioonide järgi, selle asemel et järgida vanemast väljaandest meelde jäänud menüüteed. Menüüsildid liiguvad Xcode'i väljaannete vahel ka siis, kui mehhanism nende all ei muutu.
Kontrollige, mida Mac oma asukohast näeb
Käivitage loendus Macis, mitte oma sülearvutis, sest Mac on masin, mis seadet vajab. xcrun devicectl list devices prindib seadmed, milleni Xcode pääseb, ja system_profiler SPUSBDataType näitab, mis on füüsiliselt ühendatud. Telefon, mis on teises nimekirjas, kuid mitte esimeses, on ühendatud ja sidumata, mis on usalduse, mitte võrgu probleem.
xcrun devicectl list devices
system_profiler SPUSBDataType | grep -i iphone
xcrun devicectl device info DEVICE_UDID
Kui seade asub teises alamvõrgus, kinnitage, et Mac pääseb telefonis avaldatud aadressile, ja pidage meeles, et lingi jaoks kohalikud IPv6-aadressid on piiratud ühe lingiga ega ole tunnelist läbi marsruuditavad. Seetõttu teeb üksi VPN harva kauge telefoni nähtavaks: aadress, mida seade kuulutab, on mõttekas ainult selle enda segmendis.
Apple'i tehniline märkus TN3158 sedastab, et alates versioonist 15 suhtleb Xcode kaabliga ühendatud seadmega võrguliidese kaudu, mis on üles ehitatud lingil põhinevale IPv6-le, seega kohalik filtreerimine võib segada ka füüsiliselt ühendatud telefoni. Eskaleerige see juhtum filtreerimispoliitika omanikule, selle asemel et see ise välja lülitada.
Tõestage seda ehitisega, mitte seadme ikooniga
Seadme kirje nimekirjas, roheline indikaator tööriistaribal või õnnestunud sidumisküsimus on vahepealsed vaatlused. Töövoog on tõestatud siis, kui Xcode paigaldab lubatud ehitise ja silur haakub seadmes töötava protsessiga.
Käivitage kogu jada Macist. xcrun devicectl device install app --device DEVICE_UDID build/MyApp.app paigaldab ilma IDE-ta, mis eraldab Xcode'i liidese probleemi seadme tee probleemist. Seejärel käivitage rakendus ja haakige sellega konsool. Kui käsurealt paigaldamine töötab ja IDE mitte, on ülejäänud viga skeemis või allkirjastamise konfiguratsioonis, mitte võrgus.
Hoidke lahendus kitsas: üks volitatud arendaja, üks registreeritud Mac, üks seade ja juurdepääs, mis lõpeb seansi lõppedes. Tühistage volitused, kui lahendus lõpeb. Kui telefon saab lihtsalt Maci kõrvale jääda, valige see, sest kõige lihtsamal toetatud teel on kõige vähem silumist vajavaid kihte.