Saya mengalami masalah dengan Xcode di mana kesalahan "Source Kit Service Terminated" muncul dan semua penyorotan sintaksis dan penyelesaian kode hilang di Swift. Bagaimana saya bisa memperbaikinya?
Berikut adalah contoh gambar:
ios
swift
xcode
sourcekitservice
Tony
sumber
sumber
Jawaban:
Jawaban saya (Xcode6-Beta7) adalah dengan menghapus folder Derived Data.
Preferences > Locations > Derived Data > click the arrow to open in Finder > trash it.
Semoga ini bisa membantu seseorang. Jelas ada banyak alasan mengapa crash ini dapat terjadi.
sumber
Saya percaya saya mungkin telah menemukan solusi tujuan yang lebih umum. Di bawah ini adalah langkah-langkah yang saya gunakan untuk mendorong Xcode agar tidak menghasilkan
SourceKitService Terminated
kesalahan.Gejala yang saya alami:
Error running playground: Failed prepare for communication with playground.
Lihat gambar ini di twitter .OS X
keiOS
, saya akan menerima kesalahan lain (sayangnya saya tidak menuliskannya).SourceKitService Terminated
masalah di utas ini.Proses debug:
IDEPlaygroundDocument: Error encountered running playground
com.apple.CoreSimulator.CoreSimulatorService[3952]: The runtime for the selected device is not installed.
Apa yang saya lakukan untuk memperbaiki masalah ini.
Jika Anda hanya mengalami masalah dalam konteks proyek Swift, coba ini sendiri terlebih dahulu. Jika itu tidak berhasil, cobalah semua langkah selanjutnya di bawah ini.
Proses lebih panjang dan terlibat. (3 langkah pertama tentu saja tidak membantu, tapi saya berhasil, jadi catat di sini)
OS X
keiOS
.Analisis
Tampaknya masalahnya adalah dengan Xcode6 tidak dapat menemukan, dan menghubungkan, ke simulator dengan benar. Saya belum dapat menentukan mengapa ini terjadi, tetapi ini telah memungkinkan saya untuk terus berkembang bersama Swift. Ini mungkin ada hubungannya dengan fakta bahwa biner simulator tampaknya telah bergerak .
sumber
Anda hanya perlu menghapus "ModuleCache", ini adalah semacam cache yang digunakan oleh Xcode untuk Pelengkapan Otomatis.
Salin dan tempel baris berikut di Terminal:
rm -rf ~ / Library / Developer / Xcode / DerivedData / ModuleCache
sumber
SourceKitService lumpuh di sistem saya segera setelah saya mengetik
Saya menggunakan Xcode 6 beta 6 dan tidak masalah jika saya mengetiknya di file kosong atau menambahkannya ke yang sudah ada. Segera setelah sumber berisi satu
extension
blok, ia akan mogok. Ini terjadi bahkan pada proyek yang baru dibuat."Solusi" saya adalah menghindari ekstensi pada sumber yang sedang saya kerjakan. Saya berkomentar akhir blok kelas dan awal blok ekstensi. Segera setelah saya menyelesaikan pekerjaan saya di kelas, saya berkomentar lagi:
sumber
Itu mulai terjadi pada proyek spritekit saya setelah memasukkan fungsi touchesMoved. Fungsi ini menggunakan pembatalan paksa, yang tampaknya menyebabkan masalah:
Setelah menghapus tanda seru dan dengan demikian menghentikan pembongkaran paksa, SourceKitService berhenti menabrak.
Semoga ini membantu!
sumber
Saya menemukan solusi di Forum Pengembang Apple (yang memerlukan login, jadi saya akan menjelaskannya di sini juga).
TLDR : Jangan mengimpor
@protocol
header Objective-C ke Swift bridging Anda yang dinamai sama dengan@interface
. Misalnya, SDK Facebook memiliki protokol dan antarmuka bernama "FBGraphObject".Inilah pos forum:
sumber
3.17.1
Gunakan nama lain selain Swift untuk proyek tersebut. "Swift" dicadangkan.
sumber
UIView
.Saya memiliki masalah ini setiap beberapa detik di Xcode 6 Beta 3, dan itu berlanjut bahkan dalam proyek yang sama sekali baru. Saya mengubah Target Penempatan dari 8.0 ke 7.1 dan telah berhenti.
sumber
Apakah nama proyek Anda
Swift
? Dengan melihat pesan itu, build juga akan gagal (<unknown>:0: error: module name "Swift" is reserved for the standard library
). Coba gunakan nama proyek lain sepertiSwiftTest
. Itu akan berhasil.sumber
Untuk memperbaikinya, Anda mungkin memiliki masalah aneh dengan kode Swift Anda. Misalnya memiliki beberapa definisi IBOutlets karena Anda sedang menyalin dan menempel. biasanya itu hanya kesalahan sintaks yang tidak bisa ditangani.
sumber
Saya menemukan bahwa dengan secara eksplisit (statis) mengetik tipe variabel, daripada menyimpulkannya, memecahkan masalah bagi saya.
sumber
Keluar Xcode jika terbuka. Kemudian dari Terminal:
Ini akan mengembalikan Xcode ke pengaturan default. Buka Xcode dan semuanya akan berfungsi lagi.
sumber
Bagi saya (xcode 6.1) alasannya adalah saya lupa mengadopsi subclass ke protokol.
Misalnya ini salah:
dan ini ok:
sumber
Sebuah program yang hanya terdiri dari dua baris ini (mungkin salah dalam hal sintaks Swift) sudah cukup untuk menyebabkan kesalahan "SourceKitService Terminated" di sini:
Menggunakan
let
alih-alihvar
membuat editor berperilaku normal lagi. Xcode versi 6.0 (6A215l)sumber
Punya masalah yang sama hari ini, masalahnya adalah
println
, saya hanya mencoba gaya NSLog lama untuk mencetak nilai:Cara kami menyusun string dalam swift telah berkembang dari gaya printf ke gaya inline, jadi sekarang Anda menyematkan nilai-nilai Anda langsung ke string format seperti ini:
Jadi, untuk contoh di atas solusinya adalah:
sumber
Saya memiliki masalah yang sama dengan Xcode6 beta 3 untuk proyek yang dibuat dalam beta 2.
Itu karena perubahan melanggar baru dalam bahasa cepat yaitu sintaks deklarasi array.
Periksa kode yang terpengaruh karena melanggar perubahan dalam beta 3.
http://adcdownload.apple.com//Developer_Tools/xcode_6_beta_3_lpw27r/xcode_6_beta_3_release_notes__.pdf
Salah satu contoh dalam kasus saya adalah:
Saya harus berubah:
untuk
Kesimpulan: Sepertinya ada kesalahan dalam kode sumber, dalam beberapa kondisi kesalahan ini dihasilkan oleh Xcode.
Solusi sampai bug diperbaiki: Periksa kesalahan secara manual :)
Semoga berhasil!
sumber
Solusi bagi saya adalah mengubah simulator. Saya menggunakan iPhone 5S untuk simulator saya dan ketika saya beralih ke iPhone 5, semuanya bekerja dengan sempurna. Semoga versi masa depan akan memperbaikinya sama sekali.
sumber
Saya menemukan bahwa menghapus data yang berasal dari terminal menyelesaikan masalah sampai crash berikutnya. : S
Itu terletak di: / Users / {Nama pengguna} / Perpustakaan / Pengembang / Xcode / DerivedData / {Nama Proyek} - {Urutan char acak}
Saya harap ini membantu.
sumber
Saya pikir saya menemukan satu (karena mungkin ada banyak) alasan ini terjadi.
Dalam kasus saya, saya mengimpor file Objective-C melalui Bridging Header yang memiliki salah satu dari yang berikut ini benar:
Memperbaiki target aplikasi pada file Objective-C ATAU menghapus impor file-file itu di Bridging Header secara bersamaan tampaknya memperbaiki masalah tersebut.
FYI - Jika Anda perlu menetapkan target file Header (.h) yang tidak memiliki file Implementasi (.m), Anda dapat mengikuti langkah-langkah sederhana ini: Tidak dapat mengubah visibilitas keanggotaan target di Xcode 4.5
sumber
Hanya untuk menambahkan satu lagi solusi potensial di sini, saya tidak sengaja memberi nama kelas var dengan nama yang sama dengan itu:
Ini akan menyebabkan SourceKit PASTI PASTI. Kesalahan sintaksis bodoh, tetapi kalau-kalau ada orang lain yang membuat kesalahan yang sama.
Sunting: juga menurut @Portland Runner:
Demikian pula, Jika Anda mengatur jenis kembali ke nama func Anda akan mendapatkan kesalahan.
sumber
func foo() ->foo{}
(jangan ragu untuk menambahkannya ke jawaban Anda)Ketika kesalahan ini mulai bermunculan, komentar saja bagian terakhir / terakhir dari kode yang Anda tulis dan tunggu sebentar. Penyorotan sintaksis akan muncul kembali. Inilah cara saya mengatasi masalah.
sumber
Dilaporkan ke Apple (# 17266321):
Detail:
Rangkuman: Jika kami mencoba untuk mencetak kamus dengan nilai sebagai array, sembulan sembulan akan muncul - "SourceKit dihentikan. Fungsionalitas editor temporaly terbatas". Xcode Membeku dan kehilangan pengenalan konteks yang menyebabkan teks menjadi menghitam.
Langkah-langkah untuk Mereproduksi: 1. Buat array sebagai - "var iOSHistoryArray = [" iOS6 "," iOS7 "," iOS8 ",]"
Buat kamus sebagai - "var MacOSYosemiteFeatures: Dictionary = [" Device ": iOSHistoryArray]".
Cetak kamus sebagai - "println (" Kamus yang mengandung nilai Array:% @ \ n ", MacOSYosemiteFeatures)" (<< - Culprit - >>)
Langkah 3 menyebabkan masalah komentar yang membuat Xcode berfungsi kembali.
Hasil yang Diharapkan: Xcode harus berfungsi secara normal.
Hasil Aktual: Xcode menjadi tidak berfungsi, kehilangan pengenalan konteks (Semua font hilang dan semua teks menjadi hitam polos), seluruh Xcode menjadi tidak aktif.
Versi: Versi 6.0 (6A215l)
sumber
Cobalah:
sumber
Masalah:
Kasus saya: Menginstal beta 3, hanya proyek OSX, satu file mendeteksi "operator rentang setengah tertutup telah berubah dari .. menjadi .. <" kesalahan. Munculan mulai muncul dan penyorotan kode mulai gagal.
Larutan:
sumber
Dalam xcode, buka bilah menu >> jendela >> perangkat Anda (shift + cmd + 2) jendela baru akan muncul, dan di kiri bawah, tambahkan simulator baru, khususnya yang berjalan di iOS 8.0 untuk mengedit daftar yang ada : Anda mungkin perlu me-restart xcode
refrence: http://www.reddit.com/r/swift/comments/2bznfo/error_running_playground_unable_to_find_suitable/
sumber
Dalam kasus saya, saya telah mengimpor file yang hilang di header yang dijembatani. Setelah saya menghapus impor yang salah, pemberitahuan kesalahan hilang.
sumber
Saya memiliki kesalahan yang sama dengan proyek Objective-C ++ bersarang yang sekarang termasuk Kerangka dengan kode Swift. Untuk memperbaiki masalah ini, saya harus membangun kerangka kerja secara eksplisit. Setelah saya melakukan masalah itu hilang, dan tidak kembali;)
sumber
Masih terjadi dengan xcode 6 Versi 6.0 (6A313)
Kecelakaan
ps: mini mac baru, tidak ada instalasi xcode sebelumnya, tidak ada yang eksotis. Kurasa hanya produk beta.
sumber
Xcode 6.1 Beta 3:
Segera setelah Anda mendefinisikan alias tipe non-pribadi (misalnya
typealias Foo = Int
) dalam satu file Swift, ketikkan hurufc
dalam file lain yang SourceKitService lumpuh.Solusi baik mengundurkan diri dari menggunakan alias tipe, menunggu rilis beta berikutnya atau bungkus alias tipe Anda dalam definisi kelas:
dan gunakan seperti ini:
sumber
Mengubah target penyebaran ke iOS 8.0 berhasil untuk saya. Saya tahu seseorang berkata bahwa memindahkannya ke <= 7.1 berfungsi, tetapi masalah ini tampaknya berasal dari berbagai sumber, sehingga alternatif ini dapat bekerja.
sumber