Xcode uchun iPhone-ni masofadagi Mac-ga shunchaki ulab bo'lmaydi
Masofadagi ish stoli sizga Xcode ko'rsatadi, stolingizdagi iPhone emas. Qurilmani yig'adigan Mac bilan juftlang, aniqlashni esa uzatishdan alohida ko'rib chiqing.
Odatiy taxmin shuki, masofadagi ish stoli seansi butun ishlab chiqish muhitini noutbukingizga ko'chiradi. U ekran, klaviatura va sichqonchani ko'chiradi, boshqa hech narsani emas. iPhone Xcode ishlaydigan Mac-ga yetib borishi kerak, va bu o'z ishonch, uzatish va ruxsat talablariga ega alohida ulanishdir. Quyidagi hamma narsa shu bo'linishdan kelib chiqadi, va muvaffaqiyatsiz sozlamalarning ko'pchiligi yarim kunni aynan shu yerda yo'qotadi.
Afsona: masofadan boshqarish qurilmani ham ko'chiradi
Masofadagi ish stoli dasturi displey va kiritish oqimini uzatadi, yaxshi ulanishda esa Mac qarshingizda o'tirgandek tuyuladi. Lekin u uzatmaydigan narsa USB, va telefonni Mac tarmog'iga joylashtirmaydi ham. Seans Mac ish stolida tugaydi, u yerda Xcode qurilmani o'z qoidalari bo'yicha topishi kerak. Telefon piksellar bilan birga sayohat qiladi deb o'ylash bu tartibdagi eng keng tarqalgan xatodir.
Ikki ulanish mustaqil, biri mukammal bo'lishi mumkin, ikkinchisi esa umuman yo'q. Ish stoli seansini tuzatish qurilma yo'li haqida hech narsa aytmaydi.
Biror narsani sozlashdan oldin telefon jismonan qayerdaligini aniqlang
Agar telefon Mac yonida qolsa, o'sha yerda odatiy lokal sozlamani bajaring: kompyuterga ishoning, qurilmada dasturchi rejimini yoqing va mashina qarshisida o'tirganingizda Xcode unga yig'ib ishga tushirishini tasdiqlang. Shundan keyin masofadagi ish stoli allaqachon ishlayotgan ish oqimini boshqaradi. Bu eng arzon tartib va apparat imkon berganda tanlash kerak bo'lgan variant.
Agar telefon siz bilan sayohat qilsa va Mac ofisda qolsa, Mac o'sha qurilmaga qo'llab-quvvatlanadigan yo'lga ega bo'lishi kerak. VPN ikki uchi o'rtasida tarmoq marshrutini beradi va boshqa hech narsa bermaydi: juftlash, dasturchi rejimi, imzo identifikatori va qurilmani ro'yxatga olish — barchasi alohida talab bo'lib qoladi. Tunnelni ulanishning o'zi emas, stekdagi bir qatlam deb qarang.
Ushbu ikki tartibdan qaysi birida ekaningizni yozib qo'ying. Har bir keyingi tekshiruv shunga bog'liq, ularni aralashtirish esa ishlay olmaydigan tuzatishlar keltiradi.
Aniqlash va uzatishni ikki alohida muammo deb qarang
Xcode juftlangan simsiz qurilmalarni lokal tarmoqdagi Bonjour orqali topadi, shuningdek Connect via IP Address orqali ma'lum manzildagi qurilmaga ham yetib boradi. Bular ikki xil nosozlik rejimiga ega ikki mexanizm. Ro'yxatda hech qachon ko'rinmaydigan qurilma va ko'rinib, lekin ulanmaslikni rad etadigan qurilma bir xil alomat emas, ikkalasi ham yo'qolgan telefon deb o'qilsa ham.
Biror narsani o'zgartirishdan oldin e'lonni qidiring: dns-sd -B _apple-mobdev2._tcp juftlangan telefon lokal bo'g'inda e'lon qiladigan xizmatni sanab chiqadi. Agar hech narsa ko'rinmasa, aniqlash buzuq qatlam, va faqat manzilga asoslangan ulanish qoladi. Agar xizmat ko'rinib, Xcode hali ham ulana olmasa, aniqlash ishlaydi, uzatish yoki ishonch munosabati esa muvaffaqiyatsizlikka uchraydi.
Apple'ning simsiz qurilmalar bo'yicha yordami ham bir tarmoq talabini, ham manzil bilan ishlash oqimini qamrab oladi, shuning uchun eski nashrdan eslab qolgan menyu yo'lini kuzatish o'rniga o'rnatilgan versiyalaringizga qarab o'qing. Mexanizm ostida o'zgarmasa ham menyu yorliqlari Xcode nashrlari orasida joy o'zgartiradi.
Mac o'z joyidan nimalarni ko'ra olishini tekshiring
Sanashni noutbukda emas, Mac'da ishga tushiring, chunki qurilma kerak bo'lgan mashina — Mac. xcrun devicectl list devices Xcode yetib bora oladigan qurilmalarni chop etadi, system_profiler SPUSBDataType esa jismonan ulanganini ko'rsatadi. Ikkinchi ro'yxatda ko'rinib, birinchisida bo'lmagan telefon ulangan, lekin juftlanmagan, bu tarmoq emas, ishonch muammosi.
xcrun devicectl list devices
system_profiler SPUSBDataType | grep -i iphone
xcrun devicectl device info DEVICE_UDIDAgar qurilma boshqa quyi tarmoqda bo'lsa, Mac telefon e'lon qiladigan manzilga yetib borishini tasdiqlang va link-local IPv6 manzillari bitta bo'g'in bilan cheklanganini, tunnel orqali marshrutlanmasligini yodda tuting. Shuning uchun yakka VPN masofadagi telefonni kamdan-kam ko'rinadigan qiladi: qurilma e'lon qiladigan manzil faqat o'z segmentida ma'noga ega.
Apple texnik eslatmasi TN3158 15 versiyasidan boshlab Xcode kabel bilan ulangan qurilma bilan link-local IPv6 asosida qurilgan tarmoq interfeysi orqali gaplashishini aytadi, shuning uchun lokal filtrlash jismonan ulangan telefonga ham xalaqit berishi mumkin. Bunday holatni o'zingiz o'chirmang, filtrlash siyosati egasiga yetkazing.
Buni qurilma belgisi bilan emas, yig'ish bilan isbotlang
Ro'yxatdagi qurilma yozuvi, asboblar panelidagi yashil ko'rsatkich yoki muvaffaqiyatli juftlash so'rovi — oraliq kuzatishlar. Ish oqimi Xcode ruxsat etilgan yig'ishni o'rnatib, tuzatuvchi qurilmada ishlayotgan jarayonga ulanganda isbotlanadi.
To'liq ketma-ketlikni Mac'dan ishga tushiring. xcrun devicectl device install app --device DEVICE_UDID build/MyApp.app IDE'siz o'rnatadi, bu Xcode interfeysi muammosini qurilma yo'li muammosidan ajratadi. Keyin ilovani ishga tushiring va unga konsol ulang. Agar buyruq qatoridan o'rnatish ishlab, IDE ishlamasa, qolgan nuqson tarmoqda emas, sxema yoki imzo konfiguratsiyasida.
Tartibni tor tuting: bitta vakolatli dasturchi, bitta ro'yxatga olingan Mac, bitta qurilma va seans tugaganda tugaydigan kirish. Tartib to'xtaganda hisob ma'lumotlarini bekor qiling. Agar telefon shunchaki Mac yonida qola olsa, shuni tanlang, chunki eng sodda qo'llab-quvvatlanadigan yo'l tuzatish uchun eng kam qatlam qoldiradigan yo'ldir.