स्विफ्ट एक्सकोड इंडेक्स फ्रीजिंग या स्लो


101

शायद यह सिर्फ मुझे इस तरह के कष्टप्रद "सुविधा" का अनुभव कर रहा है:

Xcode 6.0.1 से Xcode 6.1 में अपग्रेड करने के बाद, चीजें बदल गईं। Xcode 6.1 हमेशा परियोजना या स्रोत फ़ाइलों को संकलित करने के लिए अनुक्रमणित करता है। परियोजना बहुत बड़ी नहीं है। इसमें बस स्विफ्ट फ़ाइलों और AWS SDK 2.0 कार्यस्थान में Cocoapods का एक समूह है। मुझे नहीं लगता कि इसे पूरे सूचकांक को रोकना चाहिए और सुचारू रूप से संकलित करना चाहिए। मैंने कुछ aws-sdk-ios-नमूनों के साथ कोशिश की, बस यह देखने के लिए कि Xcode 6.1 उन पर कैसे काम करता है, और यह हमेशा के लिए प्रतीक्षा में समाप्त हो गया।

मैंने अब तक क्या समाधान किए हैं:

  1. आयोजक में "व्युत्पन्न डेटा" को हटाना, और फिर से खुला और कार्यक्षेत्र। (ठीक करने में विफल)
  2. .Xcodeproj फ़ाइल और के रूप को हटाने .xcworkspace पर "शो पैकेज सामग्री" ( Xcode 4 - धीमी गति से प्रदर्शन )

उनमें से कोई भी काम नहीं किया, दुर्भाग्य से।

पुनश्च शायद मुझे फिर से प्रोजेक्ट बनाने की कोशिश करनी चाहिए? मेरी कंप्यूटर सेटिंग्स: मैकबुक प्रो (रेटिना, 13-इंच, मिड 2014), मेमोरी 8 जीबी 1600 मेगाहर्ट्ज डीडीआर 3, योसेमाइट के साथ। (मुझे लगता है कि यह इस छोटे प्रोजेक्ट को चलाने के लिए पर्याप्त है।)



2
मैं ज्यादा मदद नहीं करूंगा, लेकिन मैं जो कर रहा हूं ... मैं सिर्फ xcode 6.x को समय देता हूं। अगर मैं इसे लड़ता हूं, तो यह मुझे बड़े समय के लिए खराब कर देता है, इसलिए मैं सिर्फ xcode 6 शुरू होने तक इंतजार करता हूं। मैं इसे चलाने दो यह बेवकूफ अनुक्रमण है। मैं तब iOS सिम्युलेटर को अलग से शुरू करता हूं और तब तक इंतजार करता हूं जब तक यह बेवकूफ स्प्रिंगबोर्ड नहीं दिखाता। अंत में जब मैं एक परियोजना चलाता हूं, तो मैं इस तथ्य को अनदेखा करता हूं कि कई बार इंडेक्सिंग "रुका हुआ" कहता है और मैं प्रार्थना करता हूं <# godObject #>, कॉफी पीता हूं और ज़ेन मोड में प्रवेश करने की कोशिश करता हूं। लेकिन * आह *, यह मोटा है: / और मैं वास्तव में पसंद किया था xcode 5.1.1: |
staticVoidMan

इस जवाब ने मेरे लिए काम किया: stackoverflow.com/a/33395844/242933
ma11hew28

जवाबों:


72

मैंने ऊपर दिए गए कई सुझावों की कोशिश की, जिसमें फाइलें विभाजित करना, Xcode 6.2 बीटा स्थापित करना, और स्ट्रिंग कॉन्फैक्शन स्टेटमेंट को तोड़ना शामिल है। अंत में मेरे लिए यह किया गया था कि मैं कई .appendबयानों में परीक्षण डेटा के लिए उपयोग होने वाले शब्दकोशों की एक सरणी को विभाजित कर रहा था ।

// This causes indexing/building to hang...
var test = [ [ "a": false, "b": "c" ],
             [ "a": false, "b": "c" ],
             [ "a": false, "b": "c" ],
             [ "a": false, "b": "c" ],
             [ "a": false, "b": "c" ],
             [ "a": false, "b": "c" ] ]

// This works fine.
var test = [ [ "a": false, "b": "c" ] ]
test.append([ "a": false, "b": "c" ])
test.append([ "a": false, "b": "c" ])
test.append([ "a": false, "b": "c" ])
test.append([ "a": false, "b": "c" ])
test.append([ "a": false, "b": "c" ])

इसके अलावा, इसके लायक क्या है, इस सरणी में 6 वीं प्रविष्टि मेरे लिए समस्या का कारण है; पाँच ठीक काम करता है।


वही समाधान मेरे लिए एक शब्दकोश के साथ काम किया। इसे शुरू में सीधे तौर पर हमेशा के लिए चलाने वाले अनुक्रमण का कारण बना। इसे init()चरणबद्ध तरीके से शुरू करना पूरी तरह से काम करता है। यह उल्लेख करने के लिए कि मुझे .xcworkspaceफ़ाइल को भी हटाना पड़ा ।
जौबी

इसमें मेरे लिए कोई शब्दकोश शामिल नहीं है। घोषणा में 8 तत्वों के साथ ठीक ट्यूपल्स की एक सरणी। 11 तत्वों के साथ संलग्न करना था। सटीक ब्रेकिंग पॉइंट खोजने की जहमत नहीं उठाई, लेकिन 10 गुना तेजी से बनाता है। Mavericks पर Xcode संस्करण 6.1.1 (6A2008a)।
जोश

मैंने इस मुद्दे को 6 तत्वों के साथ भी मारा। 5 ठीक था।
जस्टिन लाउ

यह एक XCode समस्या या एक संकलक समस्या है?
स्लजक्स

4
मैंने इसे एक्सकोड 7.3 में 229 वस्तुओं के एक सरणी शाब्दिक अनुभव के साथ अनुभव किया। इसे तोड़ने के बजाय, मैंने स्विफ्ट को टाइप करने की बजाय एक प्रकार की घोषणा को जोड़ा। मैंने ऐसा करने के बाद, यह काम किया।
ब्रिघम

34

मेरे लिए एकमात्र कार्य समाधान सभी व्युत्पन्न डेटा को हटाना है (न केवल वर्तमान परियोजना के लिए, बस पूरे फ़ोल्डर को साफ करें) और फिर कोड को पुनः आरंभ करें।

  1. Xcode में फ़ाइल / वरीयताएँ खोलें

  2. पॉप अप विंडो के दाईं ओर स्थित स्थानों पर क्लिक करें

  3. "/Users/Mac/Library/Developer/Xcode/DerivedData"" के बगल में स्थित छोटे तीर आइकन पर क्लिक करें। यह आपको एक Xcode फ़ोल्डर में ले जाता है, जिसमें एक DerivedData फ़ोल्डर होता है (जिसमें आपकी पिछली परियोजनाओं से प्राप्त सभी डेटा शामिल होते हैं। ।)

  4. DerivedData फ़ोल्डर को DELETE करें


1
@TravisM। क्या आपने चरणों का पालन किया? यदि आप विंडो, ऑर्गनाइज़र, प्रोजेक्ट्स, डिलीट किए गए डेटा को हटाते हैं, तो यह काम नहीं करेगा। आपको प्रेफरेंस से गुजरना होगा।
एरिकुग

@ericgu हाँ, लेकिन यह काम नहीं किया। मैंने अपना मुद्दा ठीक किया, हालांकि, यह मेरे लिए एक शॉट में हार्डकोड किए गए डेटा के साथ एक शब्दकोश को शुरू करने से संबंधित था। जब मैंने हार्डकोड डेटा को एक बार में एक पंक्ति में जोड़ने के लिए कोड को स्थानांतरित किया, तो ठंड / धीमी समस्या तुरंत गायब हो गई।
ट्रैविस एम।

फ़ोल्डर ~ / लाइब्रेरी / डेवलपर / Xcode / DerivedData / मेरी मशीन पर। आप इसे Xcode में Window> Projects में जाकर भी पा सकते हैं।
सुरगाच

धन्यवाद। इससे मदद मिलती है। "हमेशा की अनुक्रमणिका" की समस्या ठीक तब शुरू होती है जब मैंने अपने कोकोपॉड संस्करण को अपडेट किया और एक पॉड स्थापित निष्पादित किया।
WKL

11

क्या आप कोकोआपोड्स का उपयोग कर रहे हैं? मैं आज पहले इसी मुद्दे पर भागा। (XCode 6.1.1 का उपयोग करते हुए)

इस मुद्दे को ठीक करने के लिए, मैं में सब कुछ नष्ट कर दिया ~/Library/Developer/Xcode/DerivedData, Podsअपने प्रोजेक्ट निर्देशिका में फ़ोल्डर, और <project>.xcworkspace

मैंने तब टर्मिनल खोला, अपनी परियोजना निर्देशिका में नेविगेट किया, और pod installफिर से भाग गया।


1
हां, है। अभी के लिए Xcode ठीक व्यवहार कर रहा है। लेकिन यह अभी भी समय-समय पर sourcekit दुर्घटना त्रुटि देता है। मेरा समाधान व्युत्पन्न डेटा फ़ोल्डर को हटाना है।
लेओनार्ड

खुशी है कि यह किसी और के लिए भी काम कर रहा है :)। XCode की तरह लगता है कोकोआपोड लाइब्रेरीज़ को इंडेक्स करने की कोशिश कर रहा है और कहीं अटक जाता है।
माइकल सिनचिनी

1
पॉड्स फ़ोल्डर और <प्रोजेक्ट> .xcworkspace फ़ाइल को हटाना, और फिर पॉड इंस्टॉल को फिर से काम करना।
केएमएल

9

आज भी यही मुद्दा था। Xcode 6.3.2, मध्यम आकार की स्विफ्ट परियोजना। एक बिंदु पर यह अनुक्रमण शुरू कर दिया और यह अनुक्रमण को कभी समाप्त नहीं करेगा। कोड जिसके कारण यह एक प्रकार का शब्द था [String: [String]], इसलिए स्ट्रिंग स्ट्रिंग के साथ एक स्ट्रिंग-कुंजी मानों के रूप में। मेरे पास ए से जेड तक की चाबियों में से दो थीं और इनमें से प्रत्येक 26 प्रविष्टियों में 5 से 10 तारों के साथ एक स्ट्रिंग सरणी है।

व्युत्पन्न डेटा को साफ़ करने से मदद नहीं मिली। केवल उन टिप्पणियों पर टिप्पणी करते हुए इसे फिर से बना दिया गया।

ईमानदारी से, यह हास्यास्पद है! Apple को Xcode ठीक करना होगा! स्विफ्ट परियोजनाओं को संकलित करते समय यह पहले से ही बहुत धीमा है, लेकिन इस तरह कीड़े एक शोस्टॉपर हैं। मैं इसके साथ अपना काम ठीक से नहीं कर सकता!


6

उन लोगों के लिए जो अभी भी इस समस्या को उठा रहे हैं, यह एक ऐसा आनंद है जिसे मैं आनंद लेने के लिए आया हूं जो आपको एक-एक करके वस्तुओं को दर्ज करने से रोकता है:

// instead of this, which freezes indexing
let keys = [keyQ, keyW, keyE, keyR, keyT, keyY, ... keyM]    

// and instead of this, which is ugly & lengthy
var keys = [KeyboardKey]()
keys.append(keyQ)
keys.append(keyW)
...
keys.append(keyM)

// use this:
var keys = [KeyboardKey]()
keys.appendContentsOf([keyQ, keyW, keyE, keyR, keyT, keyY, ... keyM])

1
वाह ... मेरे पास एक ही मुद्दा था। धन्यवाद! मैंने इसे Apple के बग के रूप में रिपोर्ट किया। आपने जो कहा वह मेरे लिए काम नहीं किया। मुझे अपने लंबे अरेंजमेंट को पांच या उससे कम एलीमेंट्स के साथ छोटे एरे में तोड़ना था।
ma11hew28

5

मेरे लिए, मैंने बिना किसी सफलता के सभी उपरोक्त कोशिश की; लेकिन मुझे केवल इतना करना था कि व्युत्पन्न डेटा फ़ोल्डर को हटाना है, फिर एक और यादृच्छिक प्रोजेक्ट खोलें, इसे इंडेक्स की प्रतीक्षा करें और अब मेरी मूल (खराबी) परियोजना काम करती है!

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


3

मैं Xcode संस्करण 7.3 (7D175) का उपयोग कर रहा हूं

मुझे लगता है कि मुझे एक अंतर्निहित समस्या का पता चल गया होगा। जहां दो उदाहरण जहां मैं अनुक्रमण चरण में फंस गया:

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

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

ऐसा लगता है कि पहले के व्यक्तियों द्वारा उल्लिखित शब्दकोश घोषणाओं के साथ भी यही चल रहा है। मैंने सेब के साथ एक बग रिपोर्ट दायर की।


2

मैंने 6.1 में अपग्रेड करने के बाद इसी मुद्दे का अनुभव किया। Xcode एक विशिष्ट त्रुटि संदेश उत्पन्न किए बिना संकलित या अनुक्रमण करेगा।

समस्या को कुछ छोटी अभिव्यक्तियों में नीचे स्विफ्ट फ़ाइलों में कुछ लंबी अभिव्यक्तियों को तोड़कर अंत में हल किया गया था। मेरे कार्यक्रम का एक हिस्सा कई अलग-अलग स्ट्रिंग चर को मिलाकर एक लंबी स्ट्रिंग बनाता है। एक एकल अभिव्यक्ति में उन्हें जोड़ने का प्रयास और अतिरिक्त असाइनमेंट ऑपरेटर का उपयोग करने में दोनों विफल रहे। मैं निम्नलिखित (सरलीकृत) के समान कुछ करके यह काम करने में सक्षम था:

var a = "Hello"
var b = " "
var c = "World"
var d = "!"
var partA = a + b
var partB = c + d
var result = partA + partB

मुझे यह विचार पिछले Xcode संस्करण में कई बार निम्नलिखित त्रुटि प्राप्त करने से मिला "अभिव्यक्ति उचित समय में हल करने के लिए बहुत जटिल थी; अभिव्यक्ति को अलग-अलग उप-अभिव्यक्तियों में तोड़ने पर विचार करें।"

उम्मीद है की यह मदद करेगा


हाँ, धन्यवाद, मैंने वास्तव में इस तरह के सुझाव लिए हैं। और मैंने अपनी एक फाइल की लंबाई 1500 लाइनों से लगभग 1200 तक सिकोड़ ली। और निश्चित रूप से मैंने एक नई परियोजना बनाई और एक-एक करके सभी फाइलों को आयात किया। फिर अंत में वापस आ जाता है। वास्तव में निश्चित नहीं है कि कौन सा सबसे बड़ा रक्षक है।
लियोनार्ड

स्विफ्ट में एक लंबी अभिव्यक्ति को विभाजित करके मेरे लिए चाल चली।
MandisaW

2

मैं उसी समस्या से जूझ रहा हूं। मैंने उल्लेख किए गए दो समाधानों की कोशिश की है (व्युत्पन्न डेटा को हटाने और हटाने के लिए .xcworkspace) बिना किसी सफलता के। मैंने धीरे-धीरे अधिकांश कोड बिट को कम करके और फाइलों को हटाने की कोशिश की जब तक कि लगभग कुछ भी नहीं बचा था और अनुक्रमण अभी भी अटका हुआ था।

मुझे एक समाधान मिला जो मेरे लिए काम करता है, मैंने एक पुराने Xcode संस्करण 6.1 (6A1030) के साथ परियोजना खोली है, जिसे अनुक्रमण में कोई समस्या नहीं थी, फिर नवीनतम Xcode संस्करण 6.1 (6A1052d) में वापस मिला, जिसका मैं पहले और अनुक्रमण कर रहा था तय किया और अच्छी तरह से काम करना जारी रखा।

मेरा निष्कर्ष यह है कि यह Xcode संस्करण 6.1 (6A1052d) के साथ एक बग है जो मुझे उम्मीद है कि भविष्य में रिलीज के साथ सुधार होगा।

समस्या एक समय में एक बार वापस आती है, वही फिक्स हर बार काम करता है। मुझे लगता है कि एक और समाधान सिर्फ पुराने Xcode संस्करण 6.1 (6A1030) के साथ रहना होगा, लेकिन यह iOS 8.1 चलाने वाले उपकरणों के साथ काम नहीं करेगा और इसमें नवीनतम बग फिक्स नहीं होंगे।


मैंने सतत अनुक्रमण समस्या को हल करने के लिए आसपास के अधिकांश सुझावों की कोशिश की है और यह केवल एक ही था जिसने मेरे लिए काम किया। मेरे पास एक पुराना Xcode 6 नहीं था, लेकिन मेरे पास Xcode 5 था। यह नहीं बनेगा, लेकिन इसने अनुक्रमण किया और इसके बाद Xcode 6.1 को सफलतापूर्वक अनुक्रमित किया।
सारा

मैं यह उल्लेख करना भूल गया कि यह केवल एक अस्थायी समाधान था और मुझे इसे कुछ घंटों बाद फिर से करना था।
सारा

2

मैंने Xcode 8.3.3 के साथ यह कोशिश की है। यहाँ मेरे परिणाम हैं:

आप पूरी तरह से ठीक स्विफ्ट कोड लिख सकते हैं जो कि अनुक्रमण को लटकाएगा।

एक बार अनुक्रमित होने के बाद यह लटक जाता है। स्विफ्ट कोड को किसी ऐसी चीज़ में बदलना जो हैंगिंग को इंडेक्स करने का कारण नहीं बनेगी, इससे मदद नहीं मिलती है, यह अभी भी लटका हुआ है।

परियोजना को बंद करना और फिर से खोलना उस स्थिति में मदद नहीं करता है।

Xcode छोड़ने और इसे फिर से शुरू करने से मदद मिलती है। इंडेक्सिंग अब नहीं लटकेगी (यदि आपने कोड को किसी ऐसी चीज़ में बदल दिया है जो उसे लटका नहीं देती है)।

अपने मैक को फिर से शुरू करने से मदद मिलती है, हालांकि इसकी आवश्यकता नहीं है।

फांसी पूरी तरह से ठीक स्विफ्ट कोड के कारण होता है। एक उदाहरण जो मैंने देखा था

if let date = function1()
?? function2()
?? function3()
?? function4()
?? function5()
?? function6()
?? function7()
?? function8()
?? function9()
?? function10() {
    return date
}

अनुक्रमण लटका होगा। मैंने ज्यादातर "??" पर टिप्पणी की। लाइनें और यह ठीक था (एक्सकोड को छोड़ने और स्थानांतरित करने के बाद)। एक के बाद एक रेखाहीन। कुछ पंक्तियों के साथ यह ठीक था, फिर अगली पंक्ति को अनसुना करने से यह लटका होगा।

केवल एक चीज जो स्पष्ट रूप से आपके कोड को बदलने में मदद करती है।


2

मेरे Xcode पर समाधान सभी अनावश्यक विंडो को बंद करना था। किसी कारण से कई खुली खिड़कियां Xcode को बहुत धीमा कर देती हैं।


मेरे लिए यह समाधान भी था, आश्चर्य की बात यह है कि इससे पहले कि खुली खिड़कियों की संख्या के साथ लंबे समय तक अच्छी तरह से काम किया
क्रिश्चियन

1

अंत में, मैंने इस मुद्दे को "हल" कर दिया, हालांकि यह सिर्फ एक समाधान है।

मैंने एक और प्रोजेक्ट बनाया और उसमें एक-एक करके फाइलें जोड़ीं। तब मैंने एक "बहुत लंबी" viewcontroller.swift फ़ाइल देखी। तब मैंने इसके कोड्स को मॉड्यूल में तोड़ दिया और उन कोड्स को बार-बार उपयोग किए जाने वाले कोडों में दूसरी स्विफ्ट फाइल में बनाया। और यह भी, मैंने सुझाव को ऑनलाइन लिया कि लंबी अभिव्यक्ति को छोटे लोगों में तोड़ दिया जाए। फिर, अनुक्रमण कार्य करता है और संकलन कार्य करता है।

तो अभी के लिए, मेरे पास "हल" है।

लेकिन, मुझे नहीं लगता कि यह सही है। Xcode IDE मेरी "बहुत लंबी" स्विफ्ट फ़ाइल को संभालने में सक्षम से अधिक होनी चाहिए, केवल 1500 लाइनें। मेरा मानना ​​है कि यह निश्चित रूप से एक बग (लंबे समय तक विद्यमान) है, हालांकि Xcode 6.1 पहले से ही Xcode 6.0.1 से अपग्रेड है।


1

मेरे लिए, मैंने Xcode ऐप को हटा दिया और इसे फिर से डाउनलोड किया और इसे इंस्टॉल किया। यह समस्या हल हो गई, कम से कम अब।


1

एक्सकोड इंडेक्सिंग आमतौर पर सुझावों के लिए आपके कोड के लिए और अन्य चीज़ों में स्वत: पूरी होती है जैसे आपको स्टोरी बोर्ड में मदद करना और इसके विपरीत। लेकिन अपने xcode प्रोजेक्ट को तेज़ बनाने के लिए आप इसे टर्मिनल के माध्यम से बंद / चालू कर सकते हैं

इंडेक्सिंग
डिफॉल्ट्स को बंद करें com.apple.dt.XCode IDEIndexDisable लिखें।

लेकिन बेहतर रैम के साथ स्पीडी मैक का उपयोग करने के लिए बेहतर तरीका।


2
इंडेक्सिंग को गंभीर रूप से बंद करना Xcode को बंद कर देता है और ऐसा नहीं किया जाना चाहिए। किसी को नए मैक खरीदने के लिए कहना कभी भी जवाब नहीं होना चाहिए, 2 साल का लैपटॉप नवीनतम Xcode को संभालने में सक्षम होना चाहिए।
नाइट

macOS 10.13 Beta 7 ने कुछ ऐसा पेश किया जो अनुक्रमित होते ही Xcode 9 Beta 6 और Xcode 8 दोनों को क्रैश कर देता है। इसे बंद करना एकमात्र तरीका था Xcode का उपयोग जारी रखना, यहां तक ​​कि एक अपंग संस्करण के साथ भी।
Pegolon

0

यदि आप बुरा मानने से पीछे नहीं हटते हैं तो 6.0.1 जब तक वे इसका पता नहीं लगा लेते हैं, यही मेरे लिए काम करता है। मैं 6.1 और 6.1.1 दोनों के साथ एक ही मुद्दा रहा था। अब मैं अच्छा हूं। जब यह सामने आएगा तो मैं ६.२ कोशिश करूँगा।

आप ऐप्पल सॉफ़्टवेयर के पिछले संस्करणों को उनके आधिकारिक देव स्थल पर देख सकते हैं, यहाँ: https://developer.apple.com/downloads/index.action

यदि आप ऐसा करते हैं, तो पहले Xcode की अपनी वर्तमान प्रति को हटाना सुनिश्चित करें।


0

मैं उसी सटीक मैकबुक प्रो पर स्विफ्ट फ़ाइलों के साथ Xcode 6.1.1 का उपयोग कर रहा हूं।

के रूप में मैं एक 3 डी स्ट्रिंग सरणी में पंक्तियों को जोड़ने रखा, Xcode अचानक बेकार हो गया और अब मैं कुछ नहीं कर सकता।

6.1 पर वापस जाने की कोशिश करेंगे और उम्मीद है कि समस्या दूर हो जाएगी।


मेरे साथ भी वही दिक्कत है। शब्दकोशों की एक सरणी जोड़ने के बाद xcode अनुपयोगी हो गया ... क्या आपको समाधान मिला?
अल्माजिनी

मैं Xcode 6.1 पर वापस चला गया जिसने बेहतर काम किया। यह हमेशा के लिए अनुक्रमण पर अटक नहीं गया, लेकिन कभी-कभी मैं टाइप करता हूं और 4 सेकंड के लिए समुद्र तट की गेंद प्राप्त करता हूं। कुल मिलाकर मैं सामान प्राप्त करने के लिए पर्याप्त कोड करने में सक्षम था। मैंने अपना कोई कोड नहीं बदला। यद्यपि Xcode 6.1 पर macbook pro didnt की बैटरी बहुत अधिक प्रभावित नहीं होती है, लेकिन मेरे macbook air mid 2013 में 6.1.1 चल रही है, बैटरी लाइफ बिल्कुल शॉट है। एक बार Xcode शुरू करने पर यह ~ 12 घंटे से 2 घंटे तक रहता है।
गार्डनर gard।

0

मैं इसे Xcode 6.3.2 में देख रहा हूं। मुझे वास्तव में उम्मीद थी कि रिलीज़ होने के एक साल बाद, उनके पास कंपाइलर का काम होगा, लेकिन अफसोस।

यदि उपरोक्त समाधानों में से कोई भी काम नहीं करता है, तो सिंटैक्टिक त्रुटियों के लिए अपने कोड की जांच करने का प्रयास करें। रीफैक्टरिंग की प्रक्रिया में, मैंने एक क्लोजर निकाला लेकिन मापदंडों को अर्हता प्राप्त करना भूल गया:

    let hangsInsteadOfError = { l, r in
        return l.nameFirst < r.nameFirst
        || l.nameFirst == r.nameFirst && l.nameLast < r.nameLast }

    let fixingErrorAvoidsHang = { (l:User, r:User) -> Bool in
        return l.nameFirst < r.nameFirst
            || l.nameFirst == r.nameFirst && l.nameLast < r.nameLast }

अगर मैंने स्विफ्ट में काम करने से कुछ भी सीखा है, तो यह अपमानजनक रूप से काम करना है, जिससे कि अपमानजनक कोड का पता लगाने के लिए बहुत पीछे न हटना पड़े।


0
  1. क्या आपकी अनुक्रमण स्थिति "इंडिकेटर सर्कल" या "प्रगति पट्टी" है?
  2. यदि यह एक "संकेतक सर्कल" है, तो इसका मतलब है कि यह पहले से ही शुरुआत में अटक गया है।
  3. अपनी अन्य परियोजनाओं के साथ खोलें और जांचें, यदि वे सभी समान हैं, तो इसका मतलब है कि यह एक सिस्टम मुद्दा है।
  4. बस अपने कंप्यूटर को पुनरारंभ करें और सब कुछ ठीक हो जाएगा।

0

मैं Xcode 8.2 का उपयोग करता हूं और इस समस्या में भी समाप्त हुआ। यह तब शुरू हुआ जब मैंने एक जटिल टपल वेरिएबल को परिभाषित किया - टपल के सबर्रे के साथ टपल का एक सरणी। चीजें वास्तव में धीमी हो जाती हैं, जब टुपल की उपप्रकार में एक संपत्ति होती है जो प्रोग्रामेटिक रूप से गणना की जाती है।

जैसा कि कुछ अन्य उत्तरों में उल्लेख किया गया है, अनुक्रमण हमेशा के लिए हो जाता है, और मेरा मानना ​​है कि यह चर के प्रकारों का अनुमान लगाने की कोशिश कर रहा है।

मैंने पहले चर को स्पष्ट रूप से हल किया, जिसमें शामिल प्रकारों के साथ चर को परिभाषित किया गया था। संपत्ति को अपडेट करते समय, मैं इसे पहले गणना करता हूं, फिर इसे वेरिएबल को परिभाषित करने के बजाय, टपल को असाइन करता हूं।

यहाँ एक उदाहरण कोड है।

var sectionTuples: [(section: String, rows: [(name: String, subtitle: String)])] = []
let subtitle1: String = "" // something calculated dynamically
let subtitle2: String = "" // something calculated dynamically
sectionTuples = [(
section: "Section 1", rows: [
(name: "name1", subtitle: subtitle1),
(name: "name2", subtitle: subtitle2)
])]

लब्बोलुआब यह है कि Xcode को जटिल संरचनाओं का अनुमान नहीं लगाने दें।


0

मैं एक ही मुद्दा रहा था। मेरा Xcode 8.2.1 है। लेकिन मेरे मामले में, मैं 33 कुंजी-मूल्य जोड़े के साथ शब्दकोश की एक सरणी बनाना चाहता था। मैं निम्नलिखित तरीके से कर रहा था जो अनुक्रमण में फंस गया था:

var parameter = [String : AnyObject]()
var finalArray = [parameter]

for item in listArray
{
    parameter = ["A": item.a as AnyObject, "B": item.b as AnyObject, "C": item.c as AnyObject, ... , "Z": item.z as AnyObject]

    finalArray.append(parameter)
}

मेरे लिए काम करने के बाद:

var parameter = [String: AnyObject]()
var finalArray = [parameter]

for item in listArray
{
    parameter["A"] = listArray.a as AnyObject
    parameter["B"] = listArray.b as AnyObject
    parameter["C"] = listArray.c as AnyObject
    parameter["D"] = listArray.d as AnyObject 
    .
    .
    .
    parameter["Z"] = listArray.z as AnyObject 
    finalArray.append(parameter)
}

0

मेरे पास यह मुद्दा भी है और इसे "+" ऑपरेटर के साथ अभिव्यक्ति को हटाकर / बदलकर हल किया है।

मैंने इसे बदल दिया:

var mainArray = arrayOne + arrayTwo + arrayThree + arrayFour + arrayFive

इसके लिए:

var mainArray = arrayOne
mainArray += arrayTwo
mainArray += arrayThree
mainArray += arrayFour
mainArray += arrayFive

इसने समस्या को हल कर दिया।

मेरी मशीन 2013 के अंत में एक अधिकतम एमबीपी है


बिल्कुल मेरा अनुभव। यह पूरी तरह से ठीक स्विफ्ट कोड के साथ लटका हुआ है, और इसे ठीक करने का एकमात्र तरीका कोड बदलना है।
gnasher729

0

आप Xcode 6.1.1 में अपडेट करना चाह सकते हैं

यह आधिकारिक तौर पर हमारे लिए अनुक्रमण समस्या के लिए जारी और हल किया गया है। अद्यतन विवरण में, यह कहता है कि उन्होंने स्थिरता सुधार लागू किया है इसलिए यह बहुत संभावना है कि यह अधिक स्थिर फैशन में व्यवहार करेगा।


7
दिलचस्प। मेरे लिए, 6.1.1 ने अंतहीन अनुक्रमण समस्या पेश की, जो कि 6.1 में ठीक से खुल रही थी। संकेत
पास्कल बॉर्क

समझा। हमारे मामले में हमने विस्तार कक्षाओं का उपयोग करके अभिव्यक्तियों को सरल किया और कक्षा के आकार को कम किया। जो बहुत हास्यास्पद है कि हमें यह करना था लेकिन यह वही है जो हमें करना था। और यह अभी के लिए चाल चल रहा है। इसके अलावा लाइनों की टिप्पणी करके हमने यह समझा कि स्विफ्ट कंपाइलर के अनुसार कोड का कौन सा टुकड़ा वास्तव में "जटिल है" और जितना संभव हो उतना जटिलता कम हो गई है। आशा है कि वे जल्द ही इसे ठीक करने जा रहे हैं क्योंकि यह बहुत कष्टप्रद है।
एंजेल नायडेनोव

0

Xcode 6.2 बीटा ने मेरे लिए समस्या का समाधान किया। बिजली की तेजी से नहीं, लेकिन कम से कम यह हमेशा के लिए अनुक्रमण नहीं है। बीटा आपके नियमित Xcode इंस्टॉलेशन के शीर्ष पर स्थापित नहीं होता है , इसलिए यदि आपको बीटा पसंद नहीं है, तो आप इसे हटा सकते हैं।

बीटा सहित विभिन्न Xcode डाउनलोड>


0

मेरे भाव थे जैसे:

let x = (value as? Int) ?? someDefault

भी

guard let x = (dateFormatter().string(from: Date()) + msg + "\n").addingPercentEncoding(...) else { ... }

तो मुद्दा यह है कि आपकी फ़ाइल को केवल किंडरगार्टन स्तर के भावों को फिर से लिखना है और अनुक्रमण समस्या दूर हो जाएगी।


0

Xcode 11.5 (11E608c) और अभी भी वही मुद्दे, मूल प्रश्न के 6 साल बाद। काश मैं इस सवाल में सेब को "चिह्नित" कर सकता था ताकि वे इस गंदगी को देख सकें। यह एक बड़ी परियोजना (> 1000 फाइलें) है और मैं घड़ी के नीचे था, इसलिए जब मुझे लगता है कि ठंड सूचकांक मैं 100 से अधिक फाइलों को बदल दिया गया था और वापस नहीं जा सकता था।

मैंने सब कुछ आज़माया है:

  1. स्पष्ट डेटा और निर्माण
  2. पुनरारंभ करें Xcode, मैक को पुनरारंभ करें
  3. निकालें और स्रोत जोड़ें
  4. शब्दकोश के लिए शाब्दिक आदि की खोज की

समस्या एक सरणी निर्माण थी:

private var overlayColors: [UIColor] = [UIColor(hex: "#b71c1c"), UIColor(hex: "#4a148c"),
                                        UIColor(hex: "#880e4f"), UIColor(hex: "#1de9b6"),
                                        UIColor(hex: "#f50057"), UIColor(hex: "#311b92"),
                                        UIColor(hex: "#f44336"), UIColor(hex: "#651fff"),
                                        UIColor(hex: "#d500f9"), UIColor(hex: "#3d5afe"),
                                        UIColor(hex: "#bf360c"), UIColor(hex: "#0d47a1"),
                                        UIColor(hex: "#006064"), UIColor(hex: "#2979ff"),
                                        UIColor(hex: "#ff6f00"), UIColor(hex: "#1a237e"),
                                        UIColor(hex: "#795548"), UIColor(hex: "#004d40"),
                                        UIColor(hex: "#00e676"), UIColor(hex: "#01579b"),
                                        UIColor(hex: "#33691e"), UIColor(hex: "#827717"),
                                        UIColor(hex: "#76ff03"), UIColor(hex: "#ffc400"),
                                        UIColor(hex: "#e65100"), UIColor(hex: "#00b0ff"),
                                        UIColor(hex: "#ff3d00"), UIColor(hex: "#616161"),
                                        UIColor(hex: "#263238"), UIColor(hex: "#ff1744")]

खराब स्विफ्ट फ़ाइल को खोजने में मुझे क्या मदद मिली जब xcode फ्रीज़ इंडेक्सिंग मैंने निम्न चरणों को किया

  1. ओपन एक्टिविटी मॉनिटर -> "स्विफ्ट" प्रोसेस -> शो प्रोसेस इन्फो -> ओपन फाइल्स एंड पोर्ट्स। यह आपको उन फ़ाइलों की एक सूची देगा जो यह प्रक्रिया संभावित खराब फ़ाइलों की आपकी सूची को नीचे ड्रिलिंग कर रही है
  2. अन्य आसान उपकरण यह स्क्रिप्ट है जो SOURCEKIT_LOGGING=3 /Applications/Xcode.app/Contents/MacOS/Xcode &> ~/Documents/xcode.logXcode को लेवल 3 वर्बोज़ के साथ शुरू करेगा और लॉग फ़ाइल में लॉगिंग शुरू करेगा।
  3. लॉग फ़ाइल में अपनी स्विफ्ट फ़ाइलों के लिए अंतिम प्रविष्टियाँ पूर्व में खोजें: "my_project / Source / App /"

यह एक पूर्ण समाधान नहीं है, लेकिन यह नीचे ड्रिल करने और यह जानने के लिए उपयोगी है कि कहां देखना है।

ओपन एक्टिविटी मॉनिटर -> "स्विफ्ट" प्रोसेस -> शो प्रोसेस इन्फो -> ओपन फाइल्स एंड पोर्ट्स।

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