मुझे Xcode के साथ एक समस्या आ रही है जहां "सोर्स किट सर्विस टर्मिनेटेड" त्रुटि पॉप अप कर रही है और स्विफ्ट में सभी सिंटैक्स हाइलाइटिंग और कोड पूरा हो गया है। मैं इसे कैसे ठीक करूं?
यहाँ एक उदाहरण छवि है:
मुझे Xcode के साथ एक समस्या आ रही है जहां "सोर्स किट सर्विस टर्मिनेटेड" त्रुटि पॉप अप कर रही है और स्विफ्ट में सभी सिंटैक्स हाइलाइटिंग और कोड पूरा हो गया है। मैं इसे कैसे ठीक करूं?
यहाँ एक उदाहरण छवि है:
जवाबों:
मेरा (Xcode6-Beta7) जवाब केवल डर्वर्ड डेटा फ़ोल्डर को हटाने के लिए था।
Preferences > Locations > Derived Data > click the arrow to open in Finder > trash it.
आशा है कि यह किसी की मदद करता है। स्पष्ट रूप से कई कारण हैं कि यह दुर्घटना क्यों हो सकती है।
मेरा मानना है कि मुझे एक अधिक सामान्य उद्देश्य समाधान मिल सकता है। नीचे मैंने Xcode को SourceKitService Terminated
त्रुटि उत्पन्न न करने के लिए प्रोत्साहित करने के लिए कदम उठाए हैं ।
Error running playground: Failed prepare for communication with playground.
देखें) ।OS X
करने के लिए iOS
, मैं (दुर्भाग्य से मुझे लगता है कि एक नीचे नहीं लिखा था) एक और त्रुटि प्राप्त होगा।SourceKitService Terminated
इस धागे में समस्या प्राप्त होगी ।IDEPlaygroundDocument: Error encountered running playground
com.apple.CoreSimulator.CoreSimulatorService[3952]: The runtime for the selected device is not installed.
यदि आप केवल स्विफ्ट प्रोजेक्ट के संदर्भ में कोई समस्या रखते हैं, तो पहले इसे अकेले आज़माएँ। यदि वह काम नहीं करता है, तो नीचे दिए गए सभी चरणों का प्रयास करें।
अधिक लंबी और शामिल प्रक्रिया। (पहले 3 चरण निश्चित सहायक के लिए नहीं हैं, लेकिन मैंने उन्हें किया, और इसलिए उन्हें यहाँ रिकॉर्ड करें)
OS X
जाता है iOS
।ऐसा प्रतीत होता है कि समस्या Xcode6 के साथ सिम्युलेटर को ठीक से खोजने और कनेक्ट करने में सक्षम नहीं होने के कारण है। मैं यह निर्धारित करने में सक्षम नहीं हूं कि यह मामला क्यों है, लेकिन इसने मुझे स्विफ्ट के साथ विकास जारी रखने की अनुमति दी है। यह इस तथ्य के साथ करना होगा कि सिम्युलेटर बायनेरिज़ स्थानांतरित हो गए हैं ।
आपको बस "ModuleCache" को हटाने की आवश्यकता है, यह कुछ प्रकार का कैश है जो ऑटोकॉमप्लेक्शन के लिए Xcode द्वारा उपयोग किया जाता है।
टर्मिनल में निम्न लाइन को कॉपी और पेस्ट करें:
rm -rf ~ / लाइब्रेरी / डेवलपर / Xcode / DerivedData / ModuleCache
जैसे ही मैं टाइप करता हूं SourceKitService मेरे सिस्टम पर क्रैश हो जाती है
extension foo {
मैं Xcode 6 बीटा 6 का उपयोग कर रहा हूं और इससे कोई फर्क नहीं पड़ता कि मैं इसे किसी खाली फाइल में टाइप करता हूं या किसी मौजूदा में जोड़ता हूं। जैसे ही स्रोत में एक extension
ब्लॉक होगा, यह दुर्घटनाग्रस्त हो जाएगा। नव निर्मित परियोजनाओं पर भी ऐसा होता है।
मेरा "समाधान" उन स्रोतों में विस्तार से बचने के लिए है जो मैं वर्तमान में काम कर रहा हूं। मैं एक वर्ग ब्लॉक के अंत और एक्सटेंशन ब्लॉक की शुरुआत के बारे में टिप्पणी करता हूं। जैसे ही मैंने कक्षा पर अपना काम पूरा किया, मैं उन्हें फिर से टिप्पणी करता हूं:
class MyClass {
[... my stuff ...]
//}
//
//extension MyClass {
}
यह मेरे स्प्रिटकिट प्रोजेक्ट पर टचस्मेव-फंक्शन डालने के बाद होने लगा। यह फ़ंक्शन जबरन अलिखित का उपयोग करता है, जो समस्या का कारण लगता है:
override func touchesMoved(touches: NSSet!, withEvent event: UIEvent!)
विस्मयादिबोधक चिह्न हटाने और इस प्रकार जबरन रोकना बंद करने के बाद, SourceKitService क्रैश हो गया।
उम्मीद है की यह मदद करेगा!
मुझे Apple के डेवलपर फ़ोरम पर एक समाधान मिला (जिसमें लॉगिन की आवश्यकता है, इसलिए मैं इसे यहां भी समझाऊंगा)।
TLDR : @protocol
अपने उद्देश्य-सी में स्विफ्ट ब्रिडिंग हेडर को आयात न करें जिसे एक के रूप में नाम दिया गया है @interface
। उदाहरण के लिए, फेसबुक एसडीके में एक प्रोटोकॉल और "एफबीग्राफऑब्जेक्ट" नाम का एक इंटरफेस है।
यहाँ मंच पोस्ट है:
Facebook SDK को जोड़ने से SourceKitService क्रैश हो जाती है। यदि आप बीटा 3 का उपयोग करना चाहते हैं और आपको Facebook SDK की आवश्यकता है, तो मेरे आस-पास का एक काम और जो मेरे लिए काम कर रहा है, वह Facebook SDK के @protocol FBGraphObject को रीफ़ैक्ट करने वाला है और इसका नाम बदलकर @protocol FGGraphObjectProtocol जैसा @interface FBGraphObject भी मौजूद है और जाहिरा तौर पर SourceKit यह पसंद नहीं है।
यह सुनिश्चित है कि केवल आपको क्रियाशील रखने के लिए एक अस्थायी समाधान है और आपको फ्रेमवर्क लाइब्रेरी का उपयोग करने के बजाय कोकोपोड्स का उपयोग करना होगा या अन्यथा स्वयं फेसबुक एसडीके का निर्माण करना होगा।
कुछ समय के लिए, आपको यह सुनिश्चित करने की आवश्यकता होगी कि आपके पास @protocol और @interface घोषणाओं का विरोध नहीं है और इसमें आपके द्वारा उपयोग की जा सकने वाली 3 पार्टी लाइब्रेरी शामिल हैं।
यह आज मुझे लागत, आशा है कि यह मदद करता है!
E.parto द्वारा 10 जुलाई 2014 को पोस्ट किया गया
3.17.1
प्रोजेक्ट के लिए स्विफ्ट के अलावा अन्य नाम का उपयोग करें। "स्विफ्ट" आरक्षित है।
UIView
।
इसे ठीक करने के लिए आपके स्विफ्ट कोड के साथ कुछ अजीब समस्या हो सकती है। उदाहरण के लिए IBOutlets के कई प्रकार होने के कारण क्योंकि आप नकल और चिपकाने के बीच में थे। आमतौर पर यह सिर्फ एक सिंटैक्स त्रुटि है जिसे संभाला नहीं जा सकता है।
यदि यह खुला है तो Xcode से बाहर निकलें। फिर टर्मिनल रन से:
defaults delete com.apple.dt.Xcode
यह डिफ़ॉल्ट सेटिंग्स पर Xcode को पुनर्स्थापित करेगा। ओपन Xcode और सब कुछ फिर से काम करना चाहिए।
मेरे लिए (xcode 6.1) कारण यह था कि मैं प्रोटोकॉल के लिए अपने उपवर्ग को अपनाना भूल गया था।
उदाहरण के लिए यह गलत है:
protocol SomeProtocol { ... }
class A :NSObject, SomeProtocol {
...
}
class B : A {
...
}
और यह ठीक है:
protocol SomeProtocol { ... }
class A : NSObject, SomeProtocol {
...
}
class B : A, SomeProtocol {
...
}
केवल इन दो पंक्तियों से युक्त एक कार्यक्रम (स्विफ्ट सिंटैक्स के संदर्भ में संभवतः गलत है) यहां "SourceKitService समाप्त" त्रुटि का कारण बनने के लिए पर्याप्त है:
var x = 42
println("Hello", x)
का उपयोग let
करने के बजाय var
सामान्य रूप से फिर से संपादक व्यवहार करता है। Xcode संस्करण 6.0 (6A215l)
आज एक ही मुद्दा मिला, बात यह थी कि println
, मैंने सिर्फ एक मूल्य छापने के लिए पुरानी NSLog शैली की कोशिश की:
// something like this
println("value = %@", valueObj)
जिस तरह से हमें स्ट्रिक्ट में स्ट्रिंग्स की रचना करनी चाहिए वह प्रिंटफ स्टाइल से इनलाइन स्टाइल तक विकसित हुई है, इसलिए अब आप अपने मानों को इस तरह से प्रारूप स्ट्रिंग में एम्बेड करते हैं:
"Here goes \(YOUR_VARIABLE)"
इसलिए, समाधान के ऊपर के उदाहरण के लिए:
println("value =\(valueObj)")
मैं बीटा 2 में बनाए गए प्रोजेक्ट के लिए Xcode6 Beta 3 के साथ एक ही मुद्दा था।
इसकी वजह थी स्विफ्ट लैंग्वेज में बदलाव के नए बदलाव यानी ऐरे डिक्लेरेशन सिंटैक्स।
बीटा 3 में परिवर्तन तोड़ने के कारण प्रभावित कोड की जाँच करें।
मेरे मामले में एक उदाहरण था:
मुझे बदलना पड़ा:
var tabBarController : UITabBarController = self.window?.rootViewController as UITabBarController;
सेवा
var tabBarController : UITabBarController = self.window!.rootViewController as UITabBarController
निष्कर्ष: ऐसा लगता है कि यदि स्रोत कोड में कोई त्रुटि है, तो कुछ स्थितियों में यह त्रुटि Xcode द्वारा निर्मित है।
बग ठीक होने तक समाधान: मैन्युअल रूप से त्रुटि की जांच करें :)
सौभाग्य!
मेरे लिए समाधान सिम्युलेटर बदलने के लिए हुआ। मैं अपने सिम्युलेटर के लिए iPhone 5S का उपयोग कर रहा था और जब मैंने इसे iPhone 5 में स्विच किया, तो सब कुछ पूरी तरह से काम कर रहा था। उम्मीद है कि भविष्य का संस्करण इसे पूरी तरह से ठीक कर देगा।
मुझे लगता है कि यह होने के कारणों में से एक (जैसा कि शायद बहुत से हैं) मुझे पता चला है।
मेरे मामले में, मैं ब्रिजिंग हैडर के माध्यम से ऑब्जेक्टिव-सी फाइलें आयात कर रहा था जिसमें निम्न में से एक सच था:
उद्देश्य-सी फ़ाइलों पर ऐप के लक्ष्यों को ठीक करना या ब्रिजिंग हेडर में उन फ़ाइल (ओं) के आयात को हटाना सभी मिलकर समस्या को ठीक करने लगते हैं।
FYI करें - यदि आपको हैडर (.h) फ़ाइलों का लक्ष्य निर्धारित करना है, जिसमें कोई कार्यान्वयन (.m) फ़ाइल नहीं है, तो आप इन सरल चरणों का पालन कर सकते हैं: Xcode 4.5 में लक्ष्य सदस्यता दृश्यता को परिवर्तित नहीं कर सकते
बस एक और संभावित समाधान यहाँ जोड़ने के लिए, मैंने गलती से एक वर्ग संस्करण को उसी नाम का नाम दिया था, जैसा कि यह टाइप है:
class var Settings:Settings {
get { return classVarWorkAround.settings }
}
यह SourceKit FOR SURE को क्रैश कर देगा। बेवकूफ वाक्यविन्यास त्रुटि, लेकिन मामले में कोई और भी वही गलती करता है।
संपादित करें: @Portland धावक के अनुसार:
इसी प्रकार, यदि आप रिटर्न प्रकार को फंक नाम पर सेट करते हैं तो आपको त्रुटि मिलेगी।
func foo() ->foo{}
func foo() ->foo{}
(बेझिझक इसे अपने उत्तर में जोड़ें)
जब यह त्रुटि आनी शुरू हो जाती है, तो अपने द्वारा लिखे गए कोड के अंतिम / हाल के टुकड़े पर टिप्पणी करें और थोड़ी देर प्रतीक्षा करें। सिंटैक्स हाइलाइटिंग फिर से दिखाई देना चाहिए। इस तरह मैं समस्या के आसपास काम करता हूं।
func someFunc() -> (Int?, Int?, Int?) {
var retVal1:Int? = nil
var retVal2:Int? = nil
var retVal3:Int? = nil
//some other code
//commenting out the line below helped me
//(retVal1, retVal2, retVal3)
return (retVal1, retVal2, retVal3)
}
Apple (# 17266321) को रिपोर्ट किया गया:
विवरण:
सारांश: यदि हम किसी शब्दकोश को मान के साथ मुद्रित करने का प्रयास करते हैं, तो एक सरणी के रूप में एक पॉप-अप पॉपिंग करता रहता है - "SourceKit समाप्त। संपादक कार्यक्षमता अस्थायी सीमित"। Xcode जमा देता है और संदर्भ मान्यता खो देता है जिससे पाठ काला हो जाता है।
पुन: उत्पन्न करने के लिए चरण: 1. एक सरणी बनाएं - "var iOSHistoryArray = [" iOS6 "," iOS7 "," iOS8 ",]"
एक शब्दकोश बनाएं - "var MacOSYosemiteFeatures: Dictionary = [" डिवाइस ": iOSHistoryArray]"।
शब्दकोश को इस रूप में प्रिंट करें - "प्रिंट्लन (" ऐरे वैल्यू युक्त%: @ @ n ", MacOSYosemiteFeatures)" (<< - Culprit - >>)
चरण 3 उस समस्या टिप्पणी का कारण बनता है जो Xcode को फिर से कार्यशील बनाता है।
अपेक्षित परिणाम: Xcode सामान्य रूप से कार्य करना चाहिए।
वास्तविक परिणाम: Xcode अप्रभावी हो जाता है, संदर्भ मान्यता खो देता है (सभी फ़ॉन्ट खो जाता है और सभी पाठ सादे काले हो जाते हैं), संपूर्ण Xcode निष्क्रिय हो जाता है।
संस्करण: संस्करण 6.0 (6A215l)
कोशिश करो:
स्विफ्ट कंपाइलर / इंडेक्स में एक बग है। आपके कोड की कुछ रेखाएं या रेखाएं इसे कठिनाई दे रही हैं। इससे पहले कि आप Xcode के साथ उस परियोजना को खोलने में सक्षम हों, आपको अपने कोड को कुछ अन्य टेक्स्ट एडिटर के साथ अपमानजनक लाइन (टिप्पणियों) को संपादित करने के लिए संपादित करना होगा। यदि आपके पास कोई सुराग नहीं है कि समस्या क्या है, तो अपने सभी कोड पर टिप्पणी करें। एक बार प्रोजेक्ट ओपन होने के बाद, आप तब तक कोड को बहुत कम करके वापस लाना शुरू कर सकते हैं, जब तक सीपीयू गतिविधि में वृद्धि आपको यह न बता दे कि आपको समस्या मिल गई है।
संकट:
मेरा मामला: स्थापित बीटा 3, OSX केवल प्रोजेक्ट, एक फ़ाइल का पता चला "आधा बंद रेंज ऑपरेटर को .. से .. </ error> में बदल दिया गया है। पॉप अप दिखाई देने लगता है और कोड हाइलाइटिंग विफल होने लगती है।
उपाय:
Xcode में, अपने मेनू बार पर जाएं >> विंडो >> डिवाइसेस (शिफ्ट + cmd + 2) एक नई विंडो पॉप अप होगी, और नीचे बाईं ओर, एक नया सिम्युलेटर जोड़ें, विशेष रूप से मौजूदा सूची में iOS 8.0 पर चलने वाला एक : आपको xcode को पुनरारंभ करने की आवश्यकता हो सकती है
refrence: http://www.reddit.com/r/swift/comments/2bznfo/error_running_playground_unable_to_find_suitable/
नेस्टेड ऑब्जेक्टिव-सी ++ प्रोजेक्ट के साथ भी यही त्रुटि थी कि अब स्विफ्ट कोड के साथ फ्रेमवर्क भी शामिल है। इस समस्या को ठीक करने के लिए मुझे स्पष्ट रूप से रूपरेखा का निर्माण करना था। एक बार जब मैंने किया कि समस्या दूर हो गई है, और वापस नहीं आती है;)
अभी भी xcode 6 संस्करण 6.0 (6A313) के साथ हो रहा है
क्रैश
पुनश्च: ब्रांड नए मैक मिनी, कोई पिछले xcode स्थापित नहीं, विदेशी कुछ भी नहीं है। बस एक बीटा उत्पाद मुझे लगता है।
Xcode 6.1 बीटा 3:
जैसे ही आप एक गैर-निजी प्रकार के उर्फ (जैसे typealias Foo = Int
) को एक स्विफ्ट फ़ाइल में परिभाषित करते हैं, एक प्रकार का पत्र c
दूसरी फ़ाइल में SourceKitService क्रैश होता है।
समाधान या तो प्रकार के उपनामों के उपयोग से इस्तीफा दिया जाता है, अगली बीटा रिलीज़ की प्रतीक्षा करें या अपनी परिभाषाओं को वर्ग परिभाषाओं में लपेटें:
public class DummyClass {
public typealias Foo = String
}
और इसे इस तरह उपयोग करें:
var myVar:DummyClass.Foo?