इस लक्ष्य को चलाने के लिए केवल एक उपकरण का उपयोग नहीं किया जा सकता है


85

मुझे यह त्रुटि तब मिलती है जब मैं किसी ऐप का परीक्षण करने की कोशिश करता हूं।

इस लक्ष्य को चलाने के लिए केवल एक उपकरण का उपयोग नहीं किया जा सकता है।

समर्थित आईओएस डिवाइस उपलब्ध नहीं हैं। अपने एप्लिकेशन को चलाने के लिए एक उपकरण कनेक्ट करें या गंतव्य के रूप में एक नकली डिवाइस चुनें।


यदि आप एक उपकरण का उपयोग करते हैं और आपके पास अपना ऐप्पल डेवलपर खाता है, तो कृपया अपने डिवाइस से ऐप हटा दें, और फिर इसे चलाएं।
बोलसमोज

जवाबों:


78

-destination 'platform=iOS Simulator,name=iPhone 6,OS=9.3'अपने को जोड़ेंxcodebuild


7
स्पष्टीकरण: Xcode जेनेरिक iOS डिवाइस के साथ बनाने की कोशिश करता है, लेकिन सिम्युलेटर में परीक्षण का निर्माण किया जाना है।
एड्रियाना

7
एक पूर्ण और कामकाजी कमांड:xcodebuild test -project YourProject.xcodeproj -scheme YourProject -destination 'platform=iOS Simulator,name=iPhone 6,OS=9.3'
जियानक्सिन गाओ

/ usr / bin / xcodebuild एक बाइनरी फ़ाइल है। आपको शायद इसे संशोधित नहीं करना चाहिए।
प्रति क्वेस्ट एरॉनसन

आप इसे संशोधित क्यों करना चाहते हैं?
13

आपको इसे जोड़ने की आवश्यकता नहीं है xcodebuild। आपको बस इस कमांड को पैरामीटर्स
Quver

44

हो सकता है कि स्कीम ने जेनेरिक डिवाइस पर स्विच कर दिया हो। योजना मेनू से फिर से जुड़े डिवाइस को चुनने का प्रयास करें:

मेनू छवि


18

नीचे मेरा रास्ता है

परियोजना का चयन करें -> सामान्य -> ​​तैनाती की जानकारी -> तैनाती का लक्ष्य -> ​​एक कम संस्करण चुनें यहां छवि विवरण दर्ज करें


1
जब आप अपने स्थानीय परिनियोजन लक्ष्य से अधिक परिनियोजन लक्ष्य के साथ किसी प्रोजेक्ट को आयात करते हैं, तो यह मामला उपयोगी होता है, इसे कम करने से समस्या हल हो सकती है
परम धर्मिका

7

मैं एक समस्या है कि केवल "सामान्य iOS डिवाइस" को चुना जा सकता है। और जब मैं दौड़ता हूं, तो यह कहता है "इस लक्ष्य को चलाने के लिए केवल एक डिवाइस का उपयोग नहीं किया जा सकता है। समर्थित iOS डिवाइस उपलब्ध नहीं हैं। अपने एप्लिकेशन को चलाने के लिए एक डिवाइस कनेक्ट करें या गंतव्य के रूप में एक नकली डिवाइस चुनें"

और समस्या का मेरा समाधान बिल्ड सेटिंग्स का चयन कर रहा है ---> परिनियोजन -----> IOS परिनियोजन लक्ष्य ----> 8.0 की तरह एक कम संस्करण चुनें,

और मैंने पाया कि सिम्युलेटर बाहर निकलता है और चुना जा सकता है।


क्या आपके पास नए ओएस संस्करण के साथ सिमुलेटर स्थापित हैं? गोटो Xcode -> वरीयताएँ -> संगत विरासत सिम्युलेटर रनटाइम की सूची देखने के लिए डाउनलोड करता है।
लेपिडोप्टेरॉन 13

7

आपको मान्य गंतव्यों की सूची प्राप्त करने की आवश्यकता है। ऐसा करने के लिए, एक त्रुटिपूर्ण कुंजी-मान जोड़ी निर्दिष्ट करें और xcodebuild उस संयोजन को थूक देगा जो काम करता है:

सूची गंतव्य आदेश

xcodebuild test -destination 'platform=iOS Simulator' -workspace Register.xcworkspace -scheme ThatTestTarget

आउटपुट उदाहरण

Available destinations for the "ThatTestTarget" scheme:
    { platform:iOS Simulator, id:145A9B7E-B336-4819-8059-2FFEC408E05E, OS:11.1, name:iPad (5th generation) }
    { platform:iOS Simulator, id:69ABAF6F-ADA3-4E38-AC97-D71001447663, OS:9.3, name:iPad 2 }
    { platform:iOS Simulator, id:550E2F18-406D-4586-84BB-E48F1D704F27, OS:10.3.1, name:iPad Air }
    { platform:iOS Simulator, id:94734F1C-775F-40FA-9015-8196C08805EF, OS:11.1, name:iPad Air }
    { platform:iOS Simulator, id:1DB953DD-CD97-4EC7-8006-BCF01DF3E63F, OS:11.1, name:iPad Air 2 }
    { platform:iOS Simulator, id:DE3072DA-2E31-423D-9D77-220626F8B90A, OS:11.1, name:iPad Pro (9.7-inch) }
    { platform:iOS Simulator, id:3B5D18DB-13B5-4F28-B654-7D2ECDD1F6F0, OS:11.1, name:iPad Pro (10.5-inch) }
    { platform:iOS Simulator, id:A4225E3A-512C-4F42-ADD9-1E7E448C4D27, OS:11.1, name:iPad Pro (12.9-inch) }
    { platform:iOS Simulator, id:684FF1BA-8784-4B7C-B4E5-5231772F0FAC, OS:11.1, name:iPad Pro (12.9-inch) (2nd generation) }

समान संकेत के लिए कॉलन्स बदलें, रिक्त स्थान निकालें, आईडी को अनदेखा करें

इसलिए यदि आप इस गंतव्य का उपयोग करना चाहते हैं:

platform:iOS Simulator, id:684FF1BA-8784-4B7C-B4E5-5231772F0FAC, OS:11.1, name:iPad Pro (12.9-inch) (2nd generation)

कॉमा के लिए कॉलोन बदलें, रिक्त स्थान निकालें, आईडी निकालें, ताकि आपको यह स्ट्रिंग मिल जाए:

platform=iOS Simulator,OS=11.1,name=iPad Pro (12.9-inch) (2nd generation)

तब पूरी कमांड होगी:

xcodebuild test -destination 'platform=iOS Simulator,OS=11.1,name=iPad Pro (12.9-inch) (2nd generation)' -workspace Register.xcworkspace -scheme ThatTestTarget

4

आप Xcode के "बिल्ड ओनली डिवाइस" के लिए निर्माण कर रहे हैं, जो ऐप को संकलित कर रहा है। एआरएम प्रोसेसर के लिए (जबकि सिम्युलेटर के लिए संकलन आपके मैक पर इंटेल सीपीयू को लक्षित करता है।)

एक उपकरण में प्लग करें और इसे सक्रिय योजना पॉपअप से चुनें, या, सिमुलेटरों में से एक का चयन करें और आपको जाने के लिए अच्छा होना चाहिए।


मैं अपने आप को एक बदमाश नहीं कहता क्योंकि मैं इस सामान में अच्छा हूँ ... धन्यवाद 2 घंटे बर्बाद कर दिया ....
yrpalnoob

3

XCode 8.3.2 के साथ एक बंद डिवाइस पर ऐप को चलाने की कोशिश करने के बाद मेरे पास यह त्रुटि संदेश था। मैंने अनुरोध के रूप में अनलॉक और पुन: प्रकाशित किया लेकिन "इस लक्ष्य को चलाने के लिए केवल एक उपकरण का उपयोग नहीं किया जा सकता है।" संदेश दिखाई दिया।

मैंने बस लक्ष्य को एक सिम्युलेटर में बदल दिया और इसे वापस बदल दिया - इसने मेरी समस्या को हल कर दिया।


2

यदि आप त्रुटि प्राप्त करते हैं, तो इसके लिए यह क्या है A build only device cannot be used to run this target, और यह मुद्दा नेविगेटर में देखें:

ProjectName
लक्ष्य वफ़ादारी:
आईओएस तैनाती लक्ष्य 'XX.X' है
में एसडीके के iOS YY.Y 'की तुलना में नए
लक्ष्य ProjectName

फिर मुद्दा यह है कि परियोजना को एक iOS SDK की आवश्यकता है जो आपके Xcode के उपलब्ध संस्करण की तुलना में नया है। आप इस मुद्दे को कहेंगे, जैसे कि ARKit जैसे नए / बीटा iOS SDK फ़ंक्शंस का लाभ लेने वाली परियोजनाएँ।

समाधान Xcode के नवीनतम बीटा संस्करण को डाउनलोड करने के लिए है , जिसमें गैर-सार्वजनिक रिलीज़ किए गए iOS एसडीके के लिए समर्थन होना चाहिए जो कि आवेदन की आवश्यकता है। यदि आपके पास नवीनतम Xcode है, तो लक्ष्य iOS खोजने की कोशिश करें Preferences -> Components -> Simulators


2

यदि आप कॉर्डोवा / आयोनिक गो टू प्रोडक्ट्स का उपयोग कर रहे हैं -> गंतव्य-> लक्ष्य चुनें और फिर से दौड़ें


1

@ क्ववर के उत्तर में संशोधन। नवीनतम Xcode संस्करण (8.3) के साथ, गंतव्य कमांड के मापदंडों को दोहरे उद्धरण चिह्नों में दिया जाना चाहिए। मेरे लिए सिंगल कोट्स काम नहीं आया

-destination "platform=iOS Simulator,name=iPhone 7"अपने को जोड़ेंxcodebuild

मैंने ऊपर दिए गए आदेश में OS संस्करण का उल्लेख नहीं किया है क्योंकि जब iOS का एक नया संस्करण जारी किया जाता है, तो यह कमांड त्रुटि के माध्यम से बताएगा कि यह उपकरण नहीं मिला है। इसलिए ओएस संस्करण नहीं देना बेहतर है


0
  1. मैंने एक नए AppleID के लिए आवेदन किया और इस समस्या को हल करने के लिए इसे "Xcode-> प्राथमिकताएं-> खाता" में जोड़ा। (Xcode 7.3)
  2. उसी समय मैंने "Xcode-> प्राथमिकताएं-> खाता" में मूल AppleID को हटा दिया, क्योंकि यह अब एक भुगतान किया गया खाता नहीं था और नए उपकरणों को जोड़ नहीं सकता था।

0

मेरे मामले में xcodebuild चीजें काम नहीं कर रही थीं।

यहाँ मैं हल क्या है।

मैंने अपना ऐप्पल अकाउंट हटा दिया है और xcode वरीयता पर फिर से सेट (लॉगिन) किया है, और इसे हल किया गया था।

ps। iPhone 10.1 पर, मुझे जनरल> डिवाइस प्रबंधन> खाता जानकारी> ट्रस्ट ऐप पर ट्रस्ट बटन पुश करने की आवश्यकता थी


0

मैंने एमुलेटर के लिए इस मुद्दे को तय किया,

सबसे पहले अपनी एमुलेटर लिस्ट चेक करें

विंडो> उपकरण और सिमुलेटर

किसी भी डिवाइस को चुनने के बाद OS वर्जन पर क्लिक करें

यदि आपके पास केवल Apple वॉच ओएस है, तो आपको नए IOS सिम्युलेटर डाउनलोड करने चाहिए

और अधिक सिम्युलेटर रनटाइम डाउनलोड करें पर क्लिक करें।

अपना सही आईओएस सिम्युलेटर चुनें और इसे डाउनलोड करें।


0

मैंने प्रोजेक्ट सेटिंग में जाकर इस मुद्दे को ठीक किया, और अपने 'लक्ष्य' अनुभाग के तहत मुझे टेस्ट टीम को सही टीम पर सेट करना था।


0

यदि आप उपलब्ध गंतव्यों की सूची प्राप्त करना चाहते हैं, तो xcodebuild को कॉल करें और कमांड लाइन विकल्प में पास करें -showdestinations, और यह आपके द्वारा लेने के लिए वैध विकल्प प्रिंट करेगा:

xcodebuild -showdestinations -workspace Register.xcworkspace -scheme ThatTestTarget

0

मैंने ऊपर लगभग कुछ भी करने की कोशिश की, जिसमें XCode को फिर से शुरू करना, उनमें से किसी ने भी मेरे लिए काम नहीं किया। मैं बस अपने मैक को पुनः आरंभ करके इस समस्या को हल किया । हाँ, क्लासिक समाधान।

एक साइड नोट: यह समस्या मेरे XCode के बाद हुई जब उसने मुझसे मेरा मैक पासवर्ड मांगा, शायद एक स्वचालित अपग्रेड के बाद।


0

Xcode v11 के लिए:

जब मैं अपने प्रोजेक्ट का आर्काइव बनाने की कोशिश कर रहा था तो मैं इस मुद्दे पर भागा। जब डिवाइस "जेनेरिक iOS डिवाइस" पर सेट किया गया था, तो मैं "बिल्ड" पर क्लिक करने की कोशिश कर रहा था, लेकिन उचित कदम थे:

  1. डिवाइस को "सामान्य iOS डिवाइस" पर सेट करें
  2. उत्पाद पर जाएँ -> संग्रह ( बिल्ड बिल्ड को दबाएं! )

0

मेरे मामले में यह तब हुआ, जब मैंने जेनेरिक iOS डिवाइस का चयन किया और इसे AppStore में प्रकाशित करने के लिए "निर्माण" करने की कोशिश की।
लेकिन मुझे इसके बजाय उत्पाद -> संग्रह का चयन करना चाहिए था


0

मुझे उसी त्रुटि संदेश का सामना करना पड़ा। यहाँ मैंने जो अनुभव किया है और अब तक किया है;

चरण 1: अपना लक्ष्य जांचें।

मेरा वर्तमान लक्ष्य IOS 13.2 है। यहां से, आप यह नहीं देखेंगे कि आपके मशीन पर वर्तमान में कौन से संस्करण हैं।

यहां छवि विवरण दर्ज करें

चरण 2: अपने स्थानीय पर उपलब्ध संस्करणों की जाँच करें

  • जेनेरिक IOS डिवाइस पर क्लिक करें

यहां छवि विवरण दर्ज करें

  • यह एक ड्रॉपडाउन मेनू प्रदर्शित करेगा जिसमें एक डाउनलोड सिमुलेटर ... चयन है
  • डाउनलोड सिमुलेटर के मामले में ... चयन दिखाई नहीं दे रहा है, आपको अपना लक्ष्य कम करने की आवश्यकता है। मेरे मामले में, 13.2 से मैंने इसे 13.0 कर दिया (यह आपके वर्तमान XCode पर निर्भर करता है) फिर चरण 2 को फिर से दोहराएं
  • यहां से, मैं अब डाउनलोड सिमुलेटर ... चयन देख सकता हूं
  • इसे सेलेक्ट करें

यहां छवि विवरण दर्ज करें

  • अब आप देखेंगे कि आपके पास उपलब्ध संस्करण क्या हैं
  • यहां से, आप अपने पास मौजूद संस्करण को डाउनलोड करने या बस उपयोग करने के लिए चुन सकते हैं (जो चुना गया है)

यहां छवि विवरण दर्ज करें

चरण 3: तदनुसार अपने आईओएस लक्ष्य को बदलें

  • अब जब आप पहले से ही जानते हैं कि आपके पास स्थानीय स्तर पर मौजूद सिम्युलेटर के उपलब्ध संस्करण क्या हैं, तो अब आप आईओएस लक्ष्य को बदल सकते हैं।
  • मेरे मामले में मैं IOS 11 का उपयोग करना चुनता हूं (बस इस नमूने के लिए)
  • फिर मैं लक्ष्य बदलता हूं

यहां छवि विवरण दर्ज करें

  • फिर से जेनेरिक IOS डिवाइस पर क्लिक करें

यहां छवि विवरण दर्ज करें

  • यहां से, आप अब उस IOS के तहत किसी भी सिम्युलेटर का चयन कर सकते हैं

यहां छवि विवरण दर्ज करें

मैं कोई विशेषज्ञ नहीं हूं, मैं सिर्फ अपना अनुभव साझा करना चाहता था और मुझे उम्मीद है कि यह किसी की मदद कर सकता है।


-1

मुझे एक पूरी तरह से अलग समस्या थी। किसी कारण से मेरा ऐप " डिवाइसेस " iPhone के विपरीत यूनिवर्सल बिल्ड पर सेट किया गया था । जब मैंने इसे iPhone पर स्विच किया तो सब कुछ काम कर गया। किसी भी अतिरिक्त सेटिंग्स की जरूरत नहीं है।


-2

इसने मेरे लिए काम किया।

आप एक डिवाइस पर चलाने की कोशिश कर रहे हैं जब आपने पहले से ही एक अलग योजना के लिए इसे बनाया था। के लिए जाओ

उत्पाद> साफ।

फिर सक्रिय योजनाओं से चुने गए अपने डिवाइस के साथ निर्माण करें।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.