Xcode үчүн iPhoneди алыскы Macге жөн эле туташтырууга болбойт
Алыскы иш такта сизге Xcode көрсөтөт, үстөлүңүздөгү iPhoneди эмес. Түзмөктү кура турган Mac менен жупташтырыңыз, ал эми аныктоону ташуудан өзүнчө караңыз.
Кадимки божомол — алыскы иш такта сессиясы бүткүл иштеп чыгуу чөйрөсүн ноутбукуңузга көчүрөт деп ойлоо. Ал экранды, клавиатураны жана чычканды жылдырат, башка эч нерсени эмес. iPhone Xcode иштеп жаткан Macге жетүүгө тийиш, ал эми бул өзүнүн ишеним, ташуу жана укук талаптары бар өзүнчө байланыш. Төмөнкүнүн баары ушул бөлүнүүдөн келип чыгат, жана көптөгөн ишке ашпаган жөндөөлөр жарым күнүн ушул жерде жоготот.
Уламыш: алыскы башкаруу түзмөктү да жылдырат
Алыскы иш такта программасы дисплейди жана киргизүү агымын жөнөтөт, жакшы байланышта Mac алдыңызда отургандай сезилет. Бирок ал USBни жөнөтпөйт жана телефонду Mac тармагына жайгаштырбайт. Сессия Mac иш тактасында бүтөт, ал жерде Xcode түзмөктү өз эрежелери боюнча табышы керек. Телефон пикселдер менен кошо жүрөт деп ойлоо — бул жөндөөдөгү эң кеңири таралган ката.
Эки байланыш көз карандысыз, бири мыкты болуп, экинчиси такыр болбой калышы мүмкүн. Иш такта сессиясын оңдоо түзмөк жолу тууралуу эч нерсе айтпайт.
Эч нерсени жөндөөдөн мурун телефон физикалык жактан кайда экенин аныктаңыз
Эгер телефон Macдин жанында калса, ошол жерде кадимки жергиликтүү жөндөөнү жасаңыз: компьютерге ишеним билдириңиз, түзмөктө иштеп чыгуучу режимин күйгүзүңүз жана машинанын алдында отурганда Xcode ага куруп иштете аларын ырастаңыз. Андан кийин алыскы иш такта мурунтан иштеп турган иш агымын башкарат. Бул эң арзан жөндөө жана аппараттык камсыздоо мүмкүн болгондо тандалуучу вариант.
Эгер телефон сиз менен жүрүп, Mac кеңседе калса, Mac ошол түзмөккө колдоого алынган жолго ээ болушу керек. VPN эки учтун ортосунда тармактык маршрут берет жана башка эч нерсе бербейт: жупташтыруу, иштеп чыгуучу режими, колтамга идентификатору жана түзмөктү каттоо — баары өзүнчө талап бойдон калат. Туннелди байланыштын өзү катары эмес, стектин бир катмары катары караңыз.
Ошол эки жөндөөнүн кайсынысында экениңизди жазып коюңуз. Кийинки ар бир текшерүү ошого байланыштуу, ал эми аларды аралаштыруу иштебей турган оңдоолорду жаратат.
Аныктоону жана ташууну эки башка маселе катары караңыз
Xcode жупташтырылган зымсыз түзмөктөрдү жергиликтүү тармактагы Bonjour аркылуу табат, ошондой эле Connect via IP Address аркылуу белгилүү даректеги түзмөккө жете алат. Булар иштен чыгуу режимдери ар башка эки механизм. Тизмеде такыр көрүнбөгөн түзмөк менен көрүнүп, бирок кошулуудан баш тарткан түзмөк бирдей симптом эмес, экөө тең жоголгон телефон деп окулса да.
Эч нерсени өзгөртүүдөн мурун жарнаманы издеп көрүңүз: dns-sd -B _apple-mobdev2._tcp жупташтырылган телефон жергиликтүү шилтемеде жарыялаган кызматты тизет. Эч нерсе көрүнбөсө, аныктоо — бузулган катмар, ал эми дарекке негизделген байланыш гана калат. Кызмат көрүнүп, Xcode дагы кошула албаса, аныктоо иштейт, ал эми ташуу же ишеним мамилеси ишке ашпайт.
Appleдин зымсыз түзмөктөр боюнча жардамы бир тармак талабын да, дарек иш агымын да камтыйт, ошондуктан аны эски чыгарылыштан эсте калган меню жолун ээрчибей, орнотулган версияларыңызга карап окуңуз. Механизм төмөндө өзгөрбөсө да, меню белгилери Xcode чыгарылыштарынын ортосунда орун алмашат.
Mac өз ордунан эмнени көрө аларын текшериңиз
Санакты ноутбукуңузда эмес, Macде иштетиңиз, анткени түзмөк керектелүүчү машина — Mac. xcrun devicectl list devices Xcode жете алган түзмөктөрдү басып чыгарат, ал эми system_profiler SPUSBDataType физикалык туташтырылганды көрсөтөт. Экинчи тизмеде көрүнүп, биринчисинде жок телефон туташтырылган, бирок жупташтырылбаган, бул тармак маселеси эмес, ишеним маселеси.
xcrun devicectl list devices
system_profiler SPUSBDataType | grep -i iphone
xcrun devicectl device info DEVICE_UDIDЭгер түзмөк башка ички тармакта болсо, Mac телефон жарыялаган дарекке жете аларын ырастаңыз жана link-local IPv6 даректери бир шилтемеге гана тиешелүү жана туннелдин аша маршрутталбай турганын унутпаңыз. Ошондуктан жалгыз VPN алыскы телефонду сейрек көрсөтөт: түзмөк жарыялаган дарек өз сегментинде гана маанилүү.
Apple техникалык жазуусу TN3158 15 версиядан тартып Xcode кабелдик түзмөк менен link-local IPv6 негизиндеги тармактык интерфейс аркылуу сүйлөшөрүн айтат, ошондуктан жергиликтүү фильтрлөө физикалык туташтырылган телефонго да тоскоол болушу мүмкүн. Ошондой учурду өзүңүз өчүрбөй, фильтрлөө саясатына жооптуу адамга жеткириңиз.
Аны түзмөк белгиси менен эмес, куруу менен далилдеңиз
Тизмедеги түзмөк жазуусу, куралдар тактасындагы жашыл көрсөткүч же ийгиликтүү жупташтыруу суроосу — аралык байкоолор. Иш агымы Xcode уруксат берилген курууну орнотуп, отладчик түзмөктө иштеп жаткан процесске кошулганда далилденет.
Толук ырааттуулукту Macден иштетиңиз. xcrun devicectl device install app --device DEVICE_UDID build/MyApp.app IDEсиз орнотот, бул Xcode интерфейсинин маселесин түзмөк жолунун маселесинен ажыратат. Андан кийин колдонмону иштетип, ага консолду туташтырыңыз. Эгер буйрук сабындагы орнотуу иштеп, IDE иштебесе, калган кемчилик тармакта эмес, схемада же колтамга жөндөөсүндө.
Жөндөөнү тар кармаңыз: бир ыйгарым укуктуу иштеп чыгуучу, бир катталган Mac, бир түзмөк жана сессия бүткөндө бүтө турган жетүү. Жөндөө токтогондо эсептик маалыматтарды кайтарып алыңыз. Эгер телефон жөн эле Macдин жанында кала алса, ошону тандаңыз, анткени эң жөнөкөй колдоого алынган жол — оңдоого аз катмар калтырган жол.