Xcode खेल का मैदान 'रनिंग खेल का मैदान' या 'लॉन्चिंग सिम्युलेटर' पर अटक जाता है और कोड नहीं चलाएगा, क्या करना है?


144

हर बार जब मैं कुछ कोड का परीक्षण करने के लिए एक नया खेल का मैदान बनाता हूं, तो Xcode अटक जाता है और कोड नहीं चलेगा। यह बस स्क्रीन के शीर्ष पर 'रनिंग खेल का मैदान' या 'लॉन्चिंग सिम्युलेटर' स्टेटमेंट प्रस्तुत करता है, इसके साथ ही लोडिंग आइकन होनहार होता है, लेकिन इसके आगे कुछ भी नहीं होता है। कभी-कभी यह अनिश्चित काल तक जारी रहता है और कभी-कभी Xcode रुक जाता है और कंसोल को प्रिंट करता है:

Playground execution failed: error: Couldn't lookup symbols:
__swift_FORCE_LOAD_$_swiftCoreImage 
__swift_FORCE_LOAD_$_swiftFoundation 
_playground_log_hidden 
_playground_logger_initialize 
_playground_log_postprint 

thread #1: tid = 0xc0cd0, 0x000000010ea7c3c0 MyPlayground`executePlayground, queue = 'com.apple.main-thread', stop reason = breakpoint 1.2

frame #0: 0x000000010ea7c3c0 MyPlayground`executePlayground
frame #1: 0x000000010ea7b9c0 MyPlayground`__37-[XCPAppDelegate enqueueRunLoopBlock]_block_invoke + 32 
frame #2: 0x000000010f59625c CoreFoundation`__CFRUNLOOP_IS_CALLING_OUT_TO_A_BLOCK__ + 12
frame #3: 0x000000010f57b304 CoreFoundation`__CFRunLoopDoBlocks + 356
frame #4: 0x000000010f57aa75 CoreFoundation`__CFRunLoopRun + 901
frame #5: 0x000000010f57a494 CoreFoundation`CFRunLoopRunSpecific + 420
frame #6: 0x0000000114985a6f GraphicsServices`GSEventRunModal + 161
frame #7: 0x0000000110124f34 UIKit`UIApplicationMain + 159
frame #8: 0x000000010ea7b6e9 MyPlayground`main + 201
frame #9: 0x0000000112ad268d libdyld.dylib`start + 1
frame #10: 0x0000000112ad268d libdyld.dylib`start + 1

मैं macOS Sierra 10.12 पर Xcode 8.0 (8A218a) चला रहा हूं।

हार्डवेयर :
मैकबुक प्रो (13 "मिड-2012)
2,5 गीगाहर्ट्ज़ इंटेल कोर i5
4 जीबी 1600 मेगाहर्ट्ज राम डीडीआर 3

मैंने चारों ओर देखा है लेकिन कम से कम इन थ्रेड्स में से किसी ने भी एक उत्तर नहीं दिया है:
https://forums.developer.apple.com/thread/5902
https://github.com/jas/playground/issues/9

जिन चीजों को मैंने पहले ही शून्य सफलता के साथ आजमाया है:

  • Xcode को पुनः आरंभ करना
  • Xcode को फिर से स्थापित करना (7.3 पर डाउनग्रेड किया गया लेकिन तब से मुझे 8.0 पर वापस अपग्रेड करने में मदद नहीं मिली)
  • मशीन को फिर से चालू करना
  • एक नया खेल का मैदान बनाना

क्या आपके पास इस समस्या को हल करने के बारे में कोई विचार है? मैं प्रोग्रामिंग के लिए नया हूं और स्विफ्ट सीखने के लिए उत्सुकता से कोशिश कर रहा हूं लेकिन Xcode इसे व्यावहारिक रूप से असंभव बना रहा है ...

अग्रिम धन्यवाद, चीयर्स


आपके तेज जवाब के लिए शुक्रिया। मैं खेल के मैदान का उपयोग सिर्फ इसलिए कर रहा हूं क्योंकि मेरे पास वास्तव में ट्रीहाउस.कॉम में एक सक्रिय सदस्यता है और वे नई अवधारणाओं का परीक्षण करते समय खेल के मैदान का उपयोग करने के लिए प्रोत्साहित करते हैं।
एमिल ओस्वाल्ड

1
मैं समझता हूं, लेकिन मेरा विचार है, आप "स्विफ्ट सीखने के लिए उत्सुकता से कोशिश कर रहे हैं" और अभी आप फंस गए हैं। यदि आप एक नया ऐप प्रोजेक्ट बना सकते हैं और उसे चला सकते हैं, तो आप आगे बढ़ सकते हैं। अब, यदि आप भी एक ऐप प्रोजेक्ट नहीं चला सकते हैं, तो आपके पास गहरे मुद्दे हैं। :)
मैट

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

2
मुझे यहाँ, @EmilOsvald देने की कोई सलाह नहीं है। मैं रिपोर्ट कर सकता हूं कि यह मेरे मैकबुक पर भी अक्सर होता है (और हर समय तब होता है जब मैं आईमैक का उपयोग करता हूं, नवीनतम अपडेट के साथ सभी नई मशीनें भी)। प्लेग्राउंड का उपयोग करने के लिए आपको गलती महसूस नहीं करनी चाहिए। सिद्धांत रूप में वे एक महान उत्पाद हैं और जब वे काम करते हैं तो वे होते हैं।
इलियास करीम

1
पहली टिप्पणी (यदि पाठ की पहली पंक्ति एक टिप्पणी है) से पहले कोई रिक्त स्थान नहीं होना चाहिए, और न ही पहली पंक्ति के रूप में एक खाली रेखा। मुझे बताएं।
डैनियल स्प्रिंगर

जवाबों:


191

उत्तर:। MacOS प्लेटफ़ॉर्म पर जाएँ

जब आप एक प्लेग्राउंड बनाते हैं, तो डिफ़ॉल्ट रूप से यह iOS प्लेटफॉर्म का चयन करता है और स्वचालित रूप से UIKit आयात करता है। यह UIKit है जो हर समय क्रैश और अटक जाता है । यदि आपका (अभ्यास) कोड UIKit का उपयोग नहीं करता है तो आप MacOS प्लेटफ़ॉर्म पर जा सकते हैं । जैसा कि प्रमुख है (हालांकि सटीक नहीं) iOS और MacOS के बीच अंतर APPKit और UIKit में है।

अपने Xcode Playground के ऊपरी दाएं कोने में, यूटिलिटीज को दिखाएँ / छिपाएँ पर क्लिक करें -> फाइल इंस्पेक्टर -> खेल का मैदान सेटिंग -> प्लेटफ़ॉर्म -> macOS

नीचे स्क्रीनशॉट देखें: यहां छवि विवरण दर्ज करें


4
यह मेरे लिए काम करने के साथ-साथ मैनुअल के लिए खेल का मैदान निष्पादित बटन सेट करने के लिए लग रहा था। क्या वे कभी इसे ठीक करेंगे, हालांकि यह सिर्फ थोड़ा सा कचरा लगता है
hobobus

2
धन्यवाद फाउंडेशन का उपयोग करते समय यह अच्छा काम करता है, वास्तव में मुझे इसकी आवश्यकता है। मुझे विश्वास नहीं हो रहा है कि खेल के मैदानों में बहुत अधिक कीड़े हैं ...
एड्रियन यवोन

15
हास्यास्पद। कोड की 3 पंक्तियाँ (जिनमें से कोई भी UIKit आयात नहीं करता है) और मुझे यह गूगल करना है। बहुत सारे लोग बस छोड़ देंगे और स्विफ्ट को बेकार घोषित कर देंगे।
जेम्स बेडफोर्ड

4
यह मेरे लिए काम नहीं करता है। मैं Xcode 9.4.1 (बीटा नहीं) का उपयोग कर रहा हूं, और मुझे Xcode को लगातार दोहराना होगा। सुंदर लंगड़ा ...
माइकल रोजर्स

1
इसके अलावा, अगर खेल का मैदान काफी बड़ा हो जाता है, तो Cmd + Shift + Enter काम करना बंद कर देता है। कौन बकवास इस बकवास कार्यक्रम? IPad पर प्लेग्राउंड का उपयोग करने वाले बच्चे?
रोबो रोबोक

70

मैंने निम्नलिखित कोशिश की है और इसने मेरे लिए काम किया है:

  1. नीचे "बंद खेल का मैदान" बटन दबाएं
  2. पहली टिप्पणी लाइन निकालें और पहली पंक्ति को आयात करें। आयात से ऊपर कोई जगह नहीं।
  3. प्रेस निष्पादित बटन

1
मैंने पाया कि किसी भी टिप्पणी से पहले कोई स्थान मौजूद नहीं होना चाहिए - लेकिन आप पहली पंक्ति के रूप में एक टिप्पणी कर सकते हैं। इससे पहले न तो कोई खाली लाइन, न ही इससे पहले की इंडेंटेशन।
डैनियल स्प्रिंगर

3
मुझे लगता है कि Xcode को पुनः आरंभ करने की आवश्यकता है। ऐसा लगता है यह मेरे लिए काम का होगा।
jeb_is_a_mess

26
मेरे लिए काम किया। मैं विश्वास नहीं कर सकता कि यह बग कितना हास्यास्पद है। सेब को शर्म आनी चाहिए।
गैंगेलो


1
बहुत बढ़िया। मैंने एक्सकोड छोड़ने की कोशिश की, व्युत्पन्न डेटा आदि को साफ किया, लेकिन इसके अलावा कुछ भी काम नहीं किया। हालांकि मैं पहले से ही पहली पंक्ति में आयात किया था!
शिवम पोखरियाल

58

मेरे मामले में, Xcode 8.3.2, यह तब काम करता है जब मैं नीचे दिए गए चरणों के अनुसार प्रयास करता हूं:

  1. फ़ाइल -> "Name.playground" बंद करें
  2. फ़ाइल -> खेल का मैदान बंद करें
  3. एक्सकोड से बाहर निकलें
  4. Xcode को फिर से खोलें

2
मेरे अलावा भी कुछ की पेशकश, क्या आधुनिक XCode का उपयोग करने वाले को इस विफलता के मूल कारण पर कोई अंतर्दृष्टि है? यह चारों ओर सबसे अच्छा गैर-आक्रामक काम है, हालांकि, मैं समस्या के समाधान में कमी के बारे में कुछ नहीं सोचूंगा। क्या खेल के मैदान के हेडर में टिप्पणियाँ वास्तव में समस्या का कोई हिस्सा हैं? और कारण के संबंध में Apple क्या कहता है?
truedat101

यह मेरे लिए मेरे प्रिंट स्टेटमेंट से पहले खाली लाइन को हटाने के साथ काम किया।
FromStix

2
यूजी, एक आईडीई मुद्दे के आसपास काम करने का एक भद्दा तरीका क्या है।
प्रुइटइगो

सहमत, यह सुपर लंगड़ा है।
इलियास करीम

51

बुग्गी सिम्युलेटर की मुख्य प्रक्रिया Xcode बंद होने के बाद भी काम कर रही है। तो यहाँ कदम हैं:

  1. एक्सकोड से बाहर निकलें;
  2. com.apple.CoreSimulator.CoreSimulatorServiceगतिविधि मॉनिटर में मार प्रक्रिया;
  3. Xcode लॉन्च करें और अपना प्लेग्राउंड चलाएं।

1
मुझे यह उत्तर अन्य उत्तरों की तुलना में अधिक पसंद है क्योंकि यह मामले के दिल में अधिक मिलता है
शिल्प

1
क्या मुझे हर बार ऐसा करने की आवश्यकता है?
वैभव सरन

20

मेरे अनुभव में, आपको चाहिए:

  1. खेल के मैदान के ताज़ा बहाव को रोककर रखें: खेल के मैदान के निचले भाग में refresh तीर और "मैन्युअल रूप से रन" का चयन
  2. एक्सकोड से बाहर निकलें
  3. Xcode पुनरारंभ करें

ये अच्छी तरह काम करता है।


4
लेकिन अपने कोड को चलाने के लिए खेल का पूरा बिंदु नहीं है जैसा कि लिखा गया है?
सैफरीन

16

मैंने पहली पंक्ति में टिप्पणी को रद्द कर दिया है। यह मेरे लिए हल हो गया। बंद करने के बाद इसे आज़माना सुनिश्चित करें और एक्सकोड को फिर से चालू करें और गतिविधि मॉनिटर से com.apple.coresimulator को छोड़ने के लिए मजबूर करें


1
XCode 8.2.1 पर, इसने मेरे लिए काम किया। एक बार जब मैंने खेल के मैदानों के बारे में पहली पंक्ति टिप्पणी को हटा दिया, तो यह जल्दी से चला गया। मुझे सिम्युलेटर छोड़ने के लिए मजबूर नहीं करना पड़ा।
जेसी

@Fiveagle उत्तर के लिए धन्यवाद। मेरे पास, वास्तव में, कोइसीमुलेटर प्रक्रिया को बाध्य करने के लिए, पहली पंक्तियों को हटा दें ताकि "आयात UIKit" पहली पंक्ति हो। और XCode को फिर से शुरू करने से चालें बनीं, लेकिन पहले संकलन को प्रदर्शन करने में थोड़ा समय लगा।
बव्स

13

आयात को जोड़ना PlaygroundSupport ने मेरे लिए समस्या हल कर दी :)


2
दिलचस्प। आपको यह कहां से मिला?
डैनियल स्प्रिंगर

यदि यह उतना ही प्रभावी है जितना आप कहते हैं, आपको लगता है कि देवता डिफ़ॉल्ट रूप से शामिल होंगे। मैं इसके साथ प्रयोग करूंगा। धन्यवाद!
सफ़रीन

6

आप मैन्युअल प्रोसेसिंग पर स्विच कर सकते हैं। इसने मेरे लिए काम किया। स्क्रीनशॉट


3

सुनिश्चित करें कि आप अंततः गतिविधि मॉनीटर में xcode को मारते हैं । गतिविधि मॉनीटर में com.apple.CoreSimulator.CoreSimulatorService प्रक्रिया को मारते हैं । मैंने कई बार इस प्रक्रिया को मारने की कोशिश की और मुझे एहसास हुआ कि अगर अब भी बैकग्राउंड एक्टिविटी में xcode चल रहा है तो com.apple.CoreSimulator.CoreSimulatorService प्रक्रिया फिर से पॉप हो जाएगी जब आपने इसे मार दिया था।


2

मुझे एक ही समस्या थी, मैंने जो भी किया वह था असिस्टेंस एडिटर को खोलना और जब मैंने असिस्टेंस एडिटर को बंद कर दिया तब भी सब कुछ मेरे साथ ठीक काम करता है! मत पूछो कि यह परीक्षण और त्रुटि क्यों थी। आशा है कि यह आपकी मदद करेगा


यह वास्तव में एक महान विचार है। चूंकि प्ले / स्टॉप बटन प्रक्रिया को उत्तेजित नहीं करता है या ताज़ा करने के लिए मजबूर नहीं करता है, मुझे लगता है कि आप सहायक संपादक को प्ले बटन के लिए एक प्रतिस्थापन के रूप में चालू और बंद करने के बारे में सोच सकते हैं। बहुत बढ़िया :))।
सफ़रीन

0

थोड़ी देर रनिंग करने के बाद आपको एरर मैसेज दिखाई देगा तब आप व्यू> डिबग एरिया> कंसोल को एक्टिवेट करें और फिर प्ले करें फिर से मेरे लिए काम करें


1
क्या थोड़ी देर है? 5 मिनट? एक दिन?
डैनियल स्प्रिंगर

5 से 15 मिनट तक, शायद इस समस्या के कुछ हफ्तों के बाद मैं एसएसडी में बदल गया और 16 जीबी रैम मेमोरी में अपग्रेड हो गया और इसका हल हो गया, जैसे दिन और रात में बदलाव
क्रिटलीकेप

0

ICloud भंडारण योजना के लिए जाँच करें!

यदि आपके पास एक है, तो यह लगातार पूरे कंप्यूटर को सिंक करता है जिसमें डेस्कटॉप और दस्तावेज़ फ़ोल्डर शामिल हैं। इसके बजाय अपने होम फोल्डर (कमांड + शिफ्ट + एच) में एक "लोकल फाइल्स" फोल्डर बनाने की कोशिश करें और अपने प्लेग्राउंड प्रोजेक्ट्स को वहीं रखें, जहाँ वह iCloud से सिंक नहीं करता है।

यह मेरे लिए काम करता है। मुझे आशा है कि यह आपके लिए भी काम करेगा! :)


यह वास्तव में मेरे लिए काम किया। जिस किसी को भी यह समस्या है उसे वास्तव में इसका प्रयास करना चाहिए।
पीटर शॉर्न


0

मेरे मामले में समस्या उपयोगकर्ता-प्रेरित थी। मेरे पास सहायक संपादक था, लेकिन लाइव दृश्य का चयन नहीं किया गया था। सुनिश्चित करें कि यह इस तरह दिखता है:

सीधा प्रसारण

और इस तरह नहीं:

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


0

यह भी होता है, जैसे मेरे मामले में, जब आपने किसी फ़ंक्शन को परिभाषित किया है, लेकिन इसे कॉल करना भूल गए हैं?


0

जैसे कि इस प्रश्न का पर्याप्त उत्तर नहीं था, मैं अटकी हुई खेल के मैदान की समस्या के लिए अपना "समाधान" प्रदान करूंगा:

एक समाधान जो मेरे पास आया है जो मेरे लिए अच्छा काम करता है (इसलिए मुझे Xcode को पुनः आरंभ करने की आवश्यकता नहीं है):

killall launchd_sim

इससे कताई "रनिंग प्लेग्राउंड ..." दूर चली जाएगी और आप एक नया निष्पादन शुरू कर सकते हैं। अवगत रहें: अगले निष्पादन को स्पिन करने के लिए जा रहा है launchd_simऔर उन सभी बच्चे फिर से प्रक्रिया करते हैं। संभवतः केवल प्रासंगिक बाल प्रक्रिया को मारना सबसे अच्छा होगा। लेकिन मुझे यह अब तक नहीं मिला।

लेकिन मैं इसे केवल तभी करता हूं जब मैं समानांतर में iOS सिमुलेटर का उपयोग नहीं कर रहा हूं, क्योंकि यह launchd_simप्रक्रिया एक बच्चे की प्रक्रिया है Simulator


0

मैंने व्युत्पन्न डेटा और क्लीन बिल्ड फ़ोल्डर को हटा दिया। यह मेरे लिए काम करता है। मैं एक ही मशीन पर Xcode 11.2.1 और Xcode 10.1 का सामना कर रहा था।


-1

मैं एक ही मुद्दे का सामना कर रहा था, लेकिन गुगली करने और थोड़ा सा प्रयोग करने के बाद, मुझे पता चला कि import UIKitकिसी भी अन्य परिवाद को आयात करने से पहले हमेशा होना चाहिए ।


-1

सबसे पहले, इनबिल्ट कमेंट लाइन को डिलीट करें।

फिर, यदि आप पहली पंक्ति टिप्पणी वापस डालते हैं, तब भी यह काम करता है। यहां छवि विवरण दर्ज करें


-1

एक आखिरी टिप जो मेरे लिए काम करती है: सुनिश्चित करें कि कोई आईओएस सिम्युलेटर नहीं चल रहा है। वे आपस में झगड़ते हैं।

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