"Kaynak Seti Hizmeti Sonlandırıldı" hatası ortaya çıkıyor ve tüm sözdizimi vurgulama ve kod tamamlama Swift gitti Xcode ile ilgili bir sorun yaşıyorum. Bunu nasıl düzeltebilirim?
İşte bir örnek resim:
"Kaynak Seti Hizmeti Sonlandırıldı" hatası ortaya çıkıyor ve tüm sözdizimi vurgulama ve kod tamamlama Swift gitti Xcode ile ilgili bir sorun yaşıyorum. Bunu nasıl düzeltebilirim?
İşte bir örnek resim:
Yanıtlar:
Benim cevabım (Xcode6-Beta7) sadece Türetilmiş Veri klasörünü silmekti.
Preferences > Locations > Derived Data > click the arrow to open in Finder > trash it.
Umarım bu birine yardımcı olur. Bu çökmenin meydana gelmesinin pek çok nedeni olduğu açıktır.
Daha genel amaçlı bir çözüm bulabileceğime inanıyorum. Xcode'un SourceKitService Terminated
hatayı üretmemesini teşvik etmek için kullandığım adımlar aşağıdadır .
Error running playground: Failed prepare for communication with playground.
bakın .OS X
için geçiş zaman iOS
, ben başka bir hata (maalesef ben bunu yazmadım) alırsınız.SourceKitService Terminated
konudaki sorunu alırdım .IDEPlaygroundDocument: Error encountered running playground
com.apple.CoreSimulator.CoreSimulatorService[3952]: The runtime for the selected device is not installed.
Yalnızca Swift projesi bağlamında bir sorun yaşıyorsanız, önce bunu tek başına deneyin. Bu işe yaramazsa, aşağıdaki tüm adımları deneyin.
Daha uzun ve ilgili süreç. (İlk 3 adım kesin olarak yararlı değildir, ancak bunları yaptım ve bu yüzden buraya kaydedin)
OS X
olun iOS
.Sorun, Xcode6'nın simülatörü düzgün bir şekilde bulamaması ve bağlanamamasıyla ilgili olduğu anlaşılıyor. Bunun neden böyle olduğunu belirleyemedim, ancak bu Swift ile gelişmeye devam etmemi sağladı. Bu, simülatör ikili dosyalarının taşınmış gibi görünmesi ile ilgili olabilir .
Sadece "ModuleCache" silmeniz gerekir, bu Otomatik Tamamlama için Xcode tarafından kullanılan bir tür önbellektir.
Aşağıdaki satırı kopyalayıp Terminal'e yapıştırın:
rm -rf ~ / Kütüphane / Geliştirici / Xcode / DerivedData / ModuleCache
SourceKitService yazdığım anda sistemimde çöküyor
extension foo {
Xcode 6 beta 6 kullanıyorum ve boş bir dosyaya yazdığımda veya mevcut bir dosyaya eklediğimde önemli değil. Kaynak bir extension
blok içerdiğinde çökecektir. Bu yeni oluşturulan projelerde bile olur.
Benim "çözüm" şu anda üzerinde çalıştığım kaynaklarda uzantı önlemek için. Sınıf bloğunun sonuna ve uzantı bloğunun başlangıcına yorum yaptım. Sınıftaki çalışmalarımı bitirir bitirmez tekrar yorum yaparım:
class MyClass {
[... my stuff ...]
//}
//
//extension MyClass {
}
TouchesMoved işlevini ekledikten sonra spritekit projemde olmaya başladı. Bu işlev, soruna neden olduğu anlaşılan zorla açmayı kullanır:
override func touchesMoved(touches: NSSet!, withEvent event: UIEvent!)
Ünlem işaretlerini kaldırdıktan ve böylece zorla açmayı durdurduktan sonra SourceKitService çökmesini durdurdu.
Bu yardımcı olur umarım!
Apple'ın Geliştirici Forumlarında bir çözüm buldum (giriş gerektirir, bu yüzden burada da açıklayacağım).
TLDR : @protocol
Objective-C öğenizde a olarak adlandırılan Swift köprüleme başlığına a aktarmayın@interface
. Örneğin, Facebook SDK'sının hem bir protokolü hem de "FBGraphObject" adlı bir arayüzü vardır.
İşte forum gönderisi:
Facebook SDK'sı eklemek SourceKitService'in çökmesine neden olur. Beta 3 kullanmak istiyorsanız ve Facebook SDK'ya ihtiyacınız varsa, bulduğum ve benim için çalıştığım bir çalışma Facebook SDK'nın @protocol FBGraphObject'i yeniden düzenliyor ve @protocol FBGraphObjectProtocol'u @interface FBGraphObject gibi bir şeye yeniden adlandırıyor ve görünüşe göre SourceKit hoşuna gitmiyor.
Sadece sizi işlevsel tutmak için geçici bir çözümdür ve çerçeve kütüphanesini kullanmak yerine Cocoapod'ları kullanmanız veya başka bir şekilde Facebook SDK oluşturmanız gerekir.
Şimdilik, çakışan @protocol ve @interface bildirimleriniz olmadığından ve kullandığınız 3. taraf kitaplıkları içeren emin olmanız gerekir.
Bu bana bugün mal oldu, umarım yardımcı olur!
Gönderen e.parto üzerinde 10 Temmuz 2014
3.17.1
Proje için Swift dışında bir ad kullanın. "Swift" ayrılmıştır.
UIView
.
Bunu düzeltmek için Swift kodunuzla ilgili garip bir sorununuz olabilir. Örneğin, kopyalama ve yapıştırma işleminin ortasında olduğunuz için IBOutlet'lerin birden fazla tanımına sahip olmak. genellikle ele alınamayan bir sözdizimi hatasıdır.
Açıksa Xcode'dan çıkın. Ardından Terminal çalıştırmasından:
defaults delete com.apple.dt.Xcode
Bu, Xcode'u varsayılan ayarlara geri yükleyecektir. Xcode'u açın ve her şey tekrar çalışmalıdır.
Benim için (xcode 6.1) alt protokolümü protokolü benimsemeyi unuttum.
Örneğin bu yanlış:
protocol SomeProtocol { ... }
class A :NSObject, SomeProtocol {
...
}
class B : A {
...
}
ve bu tamam:
protocol SomeProtocol { ... }
class A : NSObject, SomeProtocol {
...
}
class B : A, SomeProtocol {
...
}
Yalnızca bu iki satırdan oluşan bir program (Swift sözdizimi açısından yanlış olabilir) burada "SourceKitService Sonlandırıldı" hatasına neden olmak için yeterlidir:
var x = 42
println("Hello", x)
Kullanma let
yerine var
tekrar normal editör davranmak yapar. Xcode sürüm 6.0 (6A215l)
Bugün aynı sorun var, bir şey vardı println
, sadece bir değer yazdırmak için eski NSLog stilini denedim:
// something like this
println("value = %@", valueObj)
Hızlı bir şekilde dizeleri oluşturma biçimimiz printf stilinden satır içi stile dönüştü, böylece değerlerinizi şu şekilde biçim dizesine gömdünüz:
"Here goes \(YOUR_VARIABLE)"
Yani, yukarıdaki örnek için çözüm:
println("value =\(valueObj)")
Beta 2'de oluşturulan bir proje için Xcode6 beta 3 ile aynı sorunu yaşadım.
Bunun nedeni, hızlı dildeki yeni kırılma değişiklikleri, yani dizi bildirimi sözdizimi idi.
Beta 3'teki değişiklikler nedeniyle etkilenen kodu kontrol edin.
Benim durumumdaki örneklerden biri:
Değişmek zorunda kaldım:
var tabBarController : UITabBarController = self.window?.rootViewController as UITabBarController;
için
var tabBarController : UITabBarController = self.window!.rootViewController as UITabBarController
Sonuç: Kaynak kodda bir hata varsa, bazı durumlarda bu hata Xcode tarafından üretilir.
Hata düzeltilene kadar çözüm: Hatayı manuel olarak kontrol edin :)
İyi şanslar!
Benim için çözüm simülatörü değiştiriyordu. Simülatörüm için iPhone 5S kullanıyordum ve iPhone 5'e geçirdiğimde her şey mükemmel çalıştı. Umarım gelecekteki bir sürüm bunu tamamen düzeltir.
Türetilmiş verilerin terminalden kaldırılmasının bir sonraki çökmeye kadar sorunu çözdüğünü buldum. : S
Şurada bulunur: / Kullanıcılar / {Kullanıcı adı} / Kütüphane / Geliştirici / Xcode / DerivedData / {Proje Adı} - {Rastgele karakter dizisi}
Umarım bu yardımcı olur.
Sanırım bunun nedenlerinden birini (muhtemelen çok sayıda olduğu gibi) anladım.
Benim durumumda, Objective-C dosyalarını aşağıdaki doğrulardan birine sahip olan Köprü Başlığı yoluyla içe aktarıyordum:
Objective-C dosyalarındaki uygulama hedeflerini düzeltmek VEYA Köprü Başlığı'ndaki bu dosyaların içe aktarılmasını kaldırmak sorunu çözüyor gibi görünüyor.
FYI - Uygulama (.m) dosyası olmayan Üstbilgi (.h) dosyalarının hedefini ayarlamanız gerekirse, aşağıdaki basit adımları uygulayabilirsiniz: Xcode 4.5'te hedef üyelik görünürlüğü değiştirilemiyor
Sadece buraya bir potansiyel çözüm daha eklemek için, yanlışlıkla bir sınıf var adını türüyle aynı adı var vardı:
class var Settings:Settings {
get { return classVarWorkAround.settings }
}
Bu, SURE için SourceKit çökecektir. Aptal sözdizimi hatası, ancak başka birinin aynı hatayı yapması durumunda.
Düzenleme: ayrıca @Portland Runner'a göre:
Benzer şekilde, dönüş türünü işlev adına ayarlarsanız hatayı alırsınız.
func foo() ->foo{}
func foo() ->foo{}
(cevabınıza eklemek için çekinmeyin)
Bu hata ortaya çıkmaya başladığında, yazdığınız son / son kod parçasını yorumlayın ve bir süre bekleyin. Sözdizimi vurgulaması yeniden görünmelidir. Sorun bu şekilde çalışırım.
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'a bildirildi (# 17266321):
Detaylar:
Özet: Değeri olan bir sözlüğü dizi olarak yazdırmaya çalışırsak, "SourceKit sonlandırıldı. Düzenleyici işlevselliği geçici olarak sınırlı" diyerek bir pop-up açılır. Xcode Metnin kararmasına neden olan bağlam tanımayı dondurur ve kaybeder.
Yeniden Oluşturma Adımları: 1. - "var iOSHistoryArray = [" iOS6 "," iOS7 "," iOS8 ",]"
- "var MacOSYosemiteFeatures: Dictionary = [" Aygıt ": iOSHistoryArray]" olarak bir sözlük oluşturun.
Sözlüğü şöyle yazdırın - "println (" Dizi değerini içeren sözlük:% @ \ n ", MacOSYosemiteFeatures)" (<< - Culprit - >>)
Adım 3, Xcode'u yeniden işlevsel hale getiren sorun yorumlamasına neden olur.
Beklenen Sonuçlar: Xcode normal şekilde çalışmalıdır.
Gerçek Sonuçlar: Xcode işlevsiz hale gelir, içerik tanımayı kaybeder (Tüm yazı tipi kaybolur ve tüm metinler düz siyah olur), tüm Xcode Etkin Değil hale gelir.
Sürüm: Sürüm 6.0 (6A215l)
Dene:
Swift derleyicisinde / dizinleyicisinde bir hata var. Kodunuzdaki bazı satırlar veya satırlar zorlanıyor. Bu projeyi Xcode ile açabilmeniz için, rahatsız edici satırlara yorum yapmak için kodunuzu başka bir metin düzenleyicisiyle düzenlemeniz gerekir. Sorunun ne olduğu hakkında hiçbir fikriniz yoksa, tüm kodunuzu yorumlayın. Projeyi açtıktan sonra, CPU etkinliğindeki artış size sorunu bulduğunuzu söyleyene kadar kodu yavaş yavaş geri getirmeye başlayabilirsiniz.
Sorun:
Benim durumum: Yüklü beta 3, sadece OSX projesi, bir dosya "yarı kapalı menzil operatörü .. .. .." hatası değiştirildi algılandı. Açılır pencere görünmeye başlar ve kod vurgulama başarısız olur.
Çözüm:
Xcode'da menü çubuğu >> pencere >> cihazlarınıza gidin (shift + cmd + 2) yeni bir pencere açılır ve sol altta yeni bir simülatör, özellikle de iOS 8.0 üzerinde çalışan bir listeyi mevcut listeye ekleyin : xcode kodunu yeniden başlatmanız gerekebilir
referans: http://www.reddit.com/r/swift/comments/2bznfo/error_running_playground_unable_to_find_suitable/
Swift ile Çerçeve şimdi içeren iç içe Objective-C ++ projesi ile aynı hatayla karşılaştım. Bu sorunu gidermek için çerçeveyi açıkça oluşturmak zorunda kaldım. Bir kez yaptım bu sorun gitti ve geri gelmiyor;)
Hala xcode 6 Sürüm 6.0 (6A313) ile oluyor
Kilitlenme
ps: yepyeni mac mini, önceki xcode yüklemesi yok, egzotik bir şey yok. Sanırım bir beta ürün.
Xcode 6.1 Beta 3:
typealias Foo = Int
Bir Swift dosyasında özel olmayan bir tür takma adı (ör. ) c
Tanımladığınız anda, SourceKitService'in çöktüğü başka bir dosyadaki harfi yazın .
Çözüm, tür takma adlarını kullanmaktan istifa etmek, bir sonraki beta sürümünü beklemek veya tür takma adlarınızı sınıf tanımlarına sarmaktır:
public class DummyClass {
public typealias Foo = String
}
ve şu şekilde kullanın:
var myVar:DummyClass.Foo?