सामान्य अनुमान के हो भने टाढाको डेस्कटप सत्रले सम्पूर्ण विकास वातावरण तपाईंको ल्यापटपमा सार्छ। यसले स्क्रिन, किबोर्ड र माउस सार्छ, अरू केही होइन। 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 को छेउमै रहन सक्छ भने त्यही रोज्नुहोस्, किनकि सबैभन्दा सरल समर्थित बाटो भनेको डिबग गर्न कम तह बाँकी रहने बाटो हो।

सम्बन्धित लेखहरू