SourceKitService는 CPU를 소비하고 Xcode를 중지합니다.


109

이것은 베타 문제가 아닙니다. Xcode 6.0.1, 프로덕션 릴리스를 사용 중입니다. 내가 겪고있는 문제는 내가 작업중인 코드를 빌드하거나 실행하려고 할 때 Xcode가 오랜 시간 동안 응답하지 않고 SourceKitService가 CPU의 400 % 이상을 소비한다는 것입니다 (활동 모니터에 따르면). 이 문제는 지난 며칠 동안 새로운 것이지만, 이상하게도 9 월 17 일에 공식적으로 출시 된 이후 Xcode 6.0을 사용하고있었습니다.이 문제에 대한 수정 사항이 포함되기를 바라며 6.0.1로 업그레이드했습니다.

문제가 무엇인지에 대한 아이디어가 있습니까?


메모리 사용량을 확인 했습니까? 나는 한동안이 문제가 없었지만 모든 RAM과 HCF를 소비하는 베타 버전에서는 정말 나빴습니다. 일반적으로 더 긴 산술, 특히 아래 첨자를 사용했기 때문입니다. 문제가되는 (그러나 합법적 인) 코드를 찾으려면 분할하고 정복해야합니다. 라인을 찾으면 Playground에서 재현하고 버그 보고서를 제출하십시오.
Chris Conover 2014 년

또한 다음과 같은 날짜가있는 게시물을 참조하십시오. stackoverflow.com/questions/24873219/…stackoverflow.com/questions/24873219/…
Chris Conover

Apple 개발자 포럼의 여러 스레드에서 읽을 수있는 몇 가지 알려진 버그가 있습니다. Xcode 6.1 Beta 3은 높은 CPU 소비를 해결하지만 다른 것을 도입합니다. 매우 실망스러운.
Klaas 2014 년

1
비슷한 문제가 있습니다. Xcode 7과 이제 8에서 문제가 발생 했습니다. 변경 되는 유일한 것은 Xcode에 들어오는 코드입니다. 내 생각 엔 재색 인화 또는 새 코드가 근본 원인이라는 것입니다. 일반적으로 업스트림에서 코드를 가져올 때 이런 일이 발생합니까?
Honey

답변:


151

오늘 오후 초에 Xcode 6.1.1 (베타가 아닌 공식 출시 버전)에서이 문제가 발생했습니다. 나는 Playground에서 몇 가지 코드를 실행하고 있었고 그 원인이 의심되었습니다. CPU는 거의 100 %로 고정되었고 Xcode는 빌드를 완료 할 수 없었습니다.

그래서 내가 한 일은 다음과 같습니다.

1. SourceKitService를 메인 CPU hog로 보여주는 "Activity Monitor"를 열었습니다.

2. "Activity Monitor"내에서 SourceKitService를 두 번 클릭하고 "Open Files and Ports"섹션을 클릭하면 / Users / myname / Library / Developer / Xcode / DerivedData / ModuleCache / 디렉토리 아래의 파일에서 작동 중임을 알 수 있습니다. 특정 폴더에 대해.

3. 지정된 폴더를 삭제했습니다 (명령 줄에서 rm -rf 사용). 캐시는 Xcode Derived 데이터 폴더의 내용을 안전하게 삭제할 수 있습니까?를 기준으로 재생성됩니다 . .

4. Activity Monitor를 다시 사용하여 SourceKitServer를 강제 종료합니다. Xcode 내에서 SourceKitService가 충돌했다는 너무 친숙한 기호를 보았습니다 (그래서 SourceKitService가 친숙하게 들리는 이유입니다!).

5. 3 단계를 반복합니다.

Mac은 다시 평화 롭습니다. 데이터가 손실되지 않았고 Xcode를 다시 시작할 필요도 없었습니다 (실패했습니다). 결론은 ModuleCache가 SourceKitService를 루프로 가져 오는 것 같고 폴더를 삭제하면 문제가 해결되는 것 같습니다. 이것이 당신에게도 효과가 있기를 바랍니다.

부트 노트 :

그건 그렇고, SourceKitService 문제의 원인은 Swift 클래스에 배열 선언이 너무 길기 때문입니다. 배열에 200 개가 넘는 항목이 있습니다. 30으로 줄였고 오류가 사라졌습니다. 따라서 문제는 사과 코드에서 일종의 스택 오버플로로 인해 발생했을 수 있습니다.


답변 해 주셔서 감사합니다. 하지만 스스로 댓글을 달지 말고 답변을 수정해야합니다.
Axalo

3
초기화 중에 유형 추론에 의존하는 Swift의 긴 배열 선언과 비슷한 문제가 있습니다. 유형에 명시 적으로 주석을 달아 문제가 해결되었음을 알았습니다.
jay492355

2
같은 문제입니다. 사전이있는 큰 배열. 모든 데이터를 .PLIST 파일에 넣고 읽었습니다.
Bruno Paulino 2015 년

64
2016 년에 200 개 요소 배열을 처리 할 수 ​​없다는 것이 다른 사람을 괴롭 히나요? 80 년대에 Atari 600의 BASIC에서 더 긴 어레이를 사용했습니다.
Eddie Sullivan

2
나는 지금 같은 문제가 있었고 @ jay492355가 언급했듯이 명시 적으로 배열을 입력해야합니다.
가이 Kogus

24

다음과 같은 약 60 개의 요소가있는 배열을 선언했기 때문에 문제가 발생했습니다.

let byteMap = [

["ECG" : (0,12)],
["PPG" : (12,3)],
["ECG" : (15,12)],
["PPG" : (27,3)],
["ECG" : (30,12)]

다음과 같이 유형에 명시 적으로 주석을 추가합니다.

let byteMap : [String: (Int, Int)] = [

["ECG" : (0,12)],
["PPG" : (12,3)],
["ECG" : (15,12)],
["PPG" : (27,3)],
["ECG" : (30,12)],

나는 그것을 멈출 수 있었다. 나는 그것이 긴 배열을 만날 때 루프로 들어가게 만드는 Swift의 유형 추론 및 유형 검사와 관련이 있다고 생각합니다.

이것은 Xcode 6.2에있었습니다. 또한 위에서 설명한대로 ModuleCache를 삭제했으며 이제 모든 것이 좋습니다.



1
Xcode 8.1에서 비슷한 문제입니다. NSConstraintLayout 개체의 배열이 있습니다. 4에서 잘 작동했습니다. 6에서는 잘 작동합니다. 7에서는별로 좋지 않고 8에서는 전혀 작동하지 않습니다. 저는 각각 4 개의 개체가있는 두 개의 배열을 만들었고 잘 작동합니다.
Dan Loughney 2016

@ onmyway133 왜 항상 발생하지 않고 가끔 발생하는지 궁금합니다
Honey

return ["a", "b", "c", "d", "e", "f"]반환하는 함수 와 같은 것이 있으면 [String]유형 추론에 여전히 문제가 있다고 생각하십니까 ?
shim

10

이 문제는 실제 장치를 연결하고 시뮬레이터를 실행하지 않았을 때 10 번, 8 번 발생했습니다.

내 솔루션이 좋은지 확실하지 않지만 시뮬레이터와 실제 장치 간 전환으로 인해 문제가 발생했다고 생각합니다. 이상하게 들릴지 모르지만 캐시 파일 사이에 간섭을 일으키는 것처럼 보였습니다 .

내 문제를 해결 한 이유 :

  • 빌드 폴더 정리 : (Xcode에서)Alt + Shift + Command + K
  • 콘텐츠 및 설정 재설정 : (시뮬레이터에서) Command + Shift + K.
  • 평소보다 조금 더 오래 기다렸고 지속적인 클릭으로 Xcode 과부하

따라서 기본적으로 새 장치에서 실행하기 전에 캐시를 삭제하십시오.

편집하다

장치 연결없이 문제가 발생했습니다. Xcode를 종료하고 다시 열었을 때 문제가 사라졌습니다. 내 생각 에는 새 코드를 가져 오거나 병합 한 후 다시 색인화 문제가 될 수 있습니다.


나는 이것이 내가 필사적이라는 것을 정말로 원했다. 불행히도 코딩을 시작한 후 다시 제어 할 수 없게됩니다.
Mr. T

확실하지 않지만 때로는 분기를 전환하고 업스트림에서 가져 와서 문제가 해결되었습니다. 내 요점은 내가 받아 들인 대답이 제안하는 것을하지 않고 내 문제가 어떻게 든 아직 해결되지 않았다는 것입니다 : /
Honey

4

SourceKitService가 최대 13GB의 메모리를 사용하는 또 다른 문제를 해결했습니다.

나는 String (많은 인수가있는 형식 줄 :

return String(format: "%d,%.3f,%.3f,%.3f,%.3f,%.3f,%.3f,%.3f,%.3f,%.3f,%.3f,%.3f,%.3f,%.3f,%.3f,%.3f,%.3f,%.3f,%.3f", samples.count,sum1.x,sum1.y,sum1.z,sum1.rx,sum1.ry,sum1.rz,sum2.x,sum2.y,sum2.z,sum2.rx,sum2.ry,sum2.rz,sum3.x,sum3.y,sum3.z,sum3.rx,sum3.ry,sum3.rz)

이것으로 교체하면 잘 작동했습니다 (메모리 축적 및 정상적인 CPU 소비 없음)

    var output: String = ""

    output += String(format: "%d,", samples.count)
    output += String(format: "%.3f,%.3f,%.3f,", sum1.x, sum1.y, sum1.z)
    output += String(format: "%.3f,%.3f,%.3f,", sum1.rx, sum1.ry, sum1.rz)
    output += String(format: "%.3f,%.3f,%.3f,", sum2.x, sum2.y, sum2.z)
    output += String(format: "%.3f,%.3f,%.3f,", sum2.rx, sum2.ry, sum2.rz)
    output += String(format: "%.3f,%.3f,%.3f,", sum3.x, sum3.y, sum3.z)
    output += String(format: "%.3f,%.3f,%.3f", sum3.rx, sum3.ry, sum3.rz)

    return output

4
이 코드가 문제라는 것을 어떻게 알았습니까?
KK

3

나는 Xcode 9 에서이 문제를 겪고 있으며 여러 솔루션을 탐색했습니다. 나를 위해 소스 제어를 비활성화 하는 것이 트릭을 수행하는 것처럼 보였습니다.

Xcode -> Preferences -> Source Control -> uncheck "Enable Source Control"

이것이 작동하지 않으면 터미널 에서 renice 명령을 사용하는 것이 좋습니다 . 여기에 더 자세히

소스 제어 비활성화

시도했지만 도움이되지 않은 다른 단계 :

  1. Xcode 닫기-> 파생 데이터 삭제
  2. 사이클링 머신
  3. "깨끗한"프로젝트

2

나를 위해 그것은 파생 데이터를 삭제하기 위해 노력했습니다. 메뉴에서 '제품'을 선택하고 Alt 키를 누른 상태에서 '빌드 폴더 정리'를 선택하십시오. 단축키 : Alt + Shift + Command + K


2
  1. Xcode 종료
  2. 터미널에서 실행 :

rm -rf ~/Library/Developer/Xcode/DerivedData/ModuleCache/*


LNI의 허용 답변과 다음 답변의 차이점에 유의하십시오.

  1. 충돌하는 것보다 충돌하지 않는 것이 항상 낫습니다. 특히 Xcode 프로세스 / 구성 요소와 관련하여.
  2. 저는 Apple 개발자는 아니지만 캐시를 부분적으로 삭제하면 무결성이 손상 될 수 있습니다. 모든 캐시를 정리 한 후 상당한 지연이 발생하지 않았습니다.

2

내 프로젝트의 긴 편집에서 문제를 파악하는 데 4 시간을 소비합니다. 첫 번째 시도는 컴파일하는 데 42 분이 걸립니다.

/Users/myname/Library/Developer/Xcode/DerivedData/ModuleCache/다시 시작한 후 @LNI에서 제안한대로 모든 캐시를 지우고 SourceKitService코드에 몇 가지 변경 사항을 적용합니다.

1)

    var initDictionary:[String:AnyObject] = [
                    "details" : "",
                    "duration" : serviceDuration,
                    "name" : serviceName,
                    "price" : servicePrice,
                    "typeId" : typeID,
                    "typeName" : typeName,
                    "url" : "",
                    "serviceId" : serviceID,
                    "imageName" : ""
                ]

에서

    var initDictionary= [
                    "details" : "",
                    "duration" : serviceDuration,
                    "name" : serviceName,
                    "price" : servicePrice,
                    "typeId" : typeID,
                    "typeName" : typeName,
                    "url" : "",
                    "serviceId" : serviceID,
                    "imageName: "" ]

2)

            if let elem = obj.property,
                let elem2 = obj.prop2,
                etc
                 {
                 // do stuf here
            }

에서

           let value1 = obj.property ?? defaultValue

삼)

           let serviceImages = images.filter { $0.serviceId == service.id }
           let sorted = serviceImages.sort { $0.sort > $1.sort }

에서

            let serviceImages = images.filter { $0.serviceId == service.id }. sort { $0.sort > $1.sort }

결과적으로 컴파일 시간-3 분, 그렇게 빠르지는 않지만 42 분 동안 더 좋습니다.

결과적으로 이전 SourceKitService-~ 5,2Gb의 메모리와 ~ 0.37Gb 이후

여기에 이미지 설명 입력


2

SourceKitService에서 동일한 문제가 발생했습니다.

나는 해결했다. FOR LOOP에 서브 뷰를 추가하지 마십시오.

문제를 감지하려면 https://github.com/RobertGummesson/BuildTimeAnalyzer-for-Xcode를 사용합니다.


어떻게 해결 했습니까? 나는 @Zhanserik 루프 내 하위 뷰를 추가하고 이제 캐시를 청소하는 것은 수정하지 않습니다
10donovanr

1
@ 10donovanr 루프를 위해 서브 뷰를 추가하지 마십시오. CMD + SHITF + K와 그 시도 클린 응용 프로그램 캐시 후
Zhanserik

2

데이터 유형을 지정하지 않거나 [String : Any]를 사용하여 신속하게 사전을 생성하지 마십시오.

'Any'유형을 사용하면 컴파일러가 데이터 유형을 확인하기 위해 무한 루프를 실행할 수 있습니다.

컴파일 오류가 발생하지 않으며 'swift'및 'SourceKitService'라는 작업에 대해 많은 메모리를 확보하여 '빠른 소스 파일 컴파일'시 Mac이 정지됩니다.


2

나는 그러한 문제에 직면했습니다. 소스 키트 서비스는 10GB 사용량을 사용했습니다. 활동 모니터의 신속한 프로세스는 6GB 이상의 사용량에 도달합니다. 다음 코드를 사용했습니다.

var details : [문자열 : 모두] = [ "1": 1, "2": 2, "3": 3, "4": 4, "5": 5, "6": 6, "7": 7, "8": 8, "9": 9, "10": 10, "11": 11, "12": 12, "13": 13, "14": 14, "15": 15, "16": 16]

이 문제를 해결하기 위해 코드를 다음과 같이 변경했습니다.

var 세부 정보 : [문자열 : 모두] = [:]

세부 정보 [ "1"] = 1

세부 정보 [ "2"] = 2

세부 정보 [ "3"] = 3

세부 정보 [ "4"] = 4

세부 정보 [ "5"] = 5

세부 정보 [ "6"] = 6

세부 정보 [ "7"] = 7

세부 정보 [ "8"] = 8

세부 정보 [ "9"] = 9

세부 정보 [ "10"] = 10

세부 정보 [ "11"] = 11

세부 정보 [ "12"] = 12

세부 정보 [ "13"] = 13

세부 정보 [ "14"] = 14

세부 정보 [ "15"] = 15

세부 정보 [ "16"] = 16


Man .... 누가 생각했을까요 .... 정확히 비슷한 코드를 가지고 있고 SourceKitService가 CPU의 생명을 빼앗 았습니다. 코드를 변경하면 사라졌습니다.
AnBisw

2

XCode 10.0에서 여전히 문제가 발생합니다. 소스 제어 옵션에서 "소스 제어 변경 사항 표시"를 비활성화하여 문제를 해결할 수 있습니다.

여기에 이미지 설명 입력


멋지지만 Xcode가 중단되는 경우에는 필요하지 않습니다.
Shayne

1

같은 문제에 직면 Xcode 7.2 (7C68)

해결책은 제 클래스가 정의에있는 프로토콜의 메서드를 구현하는 것이 었습니다.


1

이것은 xcode 버전 7.3.1 (7D1014)에서 여전히 문제입니다. LNI가 지적한 것처럼 실제로 너무 길지 않은 너무 긴 배열이었습니다. 배열을 다음과 같이 다양한 배열로 분할하여 문제를 해결했습니다.

let firstLevel = [
            [1, 0, 1, 0, 1],
            [0, 0, 0, 0, 0],
            [1, 0, 1, 0, 1],
            [0, 0, 0, 0, 0],
            [1, 0, 1, 0, 1],
            [0, 0, 0, 0, 0]
        ]
        let secondLevel = [
            [0, 0, 0, 0, 0],
            [0, 1, 0, 1, 0],
            [0, 0, 0, 0, 0],
            [0, 1, 0, 1, 0],
            [0, 0, 0, 0, 0],
            [0, 0, 0, 0, 0]
        ]
        let thirdLevel =     [
            [0, 0, 0, 0, 0],
            [0, 0, 0, 0, 0],
            [0, 0, 1, 0, 0],
            [0, 0, 0, 0, 0],
            [0, 0, 0, 0, 0],
            [0, 0, 0, 0, 0]
        ]
        let map = [firstLevel, secondLevel, thirdLevel]

1

XCode 8.2.1 (8C1002) 및 다음 코드에서 동일한 문제가 발생했습니다.

import UIKit
import AVFoundation
import Photos
import CoreMotion
import Foundation


class TestViewController: UIViewController
{
    let movieFileOutput = AVCaptureMovieFileOutput()


var anz_total_frames = 0, anz_total_miss = 0

@IBOutlet weak var tfStatistics: UITextView!


func showVideoStatistics()
{
    let statisticText:String =             "frames: \(self.anz_total_frames)" + String.newLine +

        "frames/s: \(self.anz_total_frames / self.movieFileOutput.recordedDuration.seconds)" + String.newLine +

        "miss: " + formatText4FramesPercent(self.anz_total_miss) + String.newLine +
    "nicht erkannt: " + formatText4FramesPercent(self.anz_total_miss) + String.newLine +
        "nicht erkannt: " + formatText4FramesPercent(self.anz_total_miss) + String.newLine +
        "nicht erkannt: " + formatText4FramesPercent(self.anz_total_miss) + String.newLine +
        "nicht erkannt: " + formatText4FramesPercent(self.anz_total_miss) + String.newLine +
        "nicht erkannt: " + formatText4FramesPercent(self.anz_total_miss) + String.newLine +
        "nicht erkannt: " + formatText4FramesPercent(self.anz_total_miss) + String.newLine +
        "nicht erkannt: " + formatText4FramesPercent(self.anz_total_miss) + String.newLine +
        "nicht erkannt: " + formatText4FramesPercent(self.anz_total_miss) + String.newLine +
        "nicht erkannt: " + formatText4FramesPercent(self.anz_total_miss) + String.newLine +
        "nicht erkannt: " + formatText4FramesPercent(self.anz_total_miss) + String.newLine


    self.tfStatistics.text = statisticText
}

func formatText4FramesPercent(_ anz:Int) -> String
    {
        let perc = Double(anz)*100.0/Double(anz_total_frames)
        return String(perc.format(".1") + "%")
    }
}

및 이러한 확장 :

extension String {
    var localized: String {
        return NSLocalizedString(self, tableName: nil, bundle: Bundle.main, value: "", comment: "")
    }

    static var newLine: String {
        return "\r\n"
    }
}

extension Int {
    func format(_ f: String) -> String {
        return String(format: "%\(f)d", self)
    }
}

extension Double {
    func format(_ f: String) -> String {
        return String(format: "%\(f)f", self)
    }
}

TestViewController에서이 줄을 주석 처리하여 해결했습니다.

        "frames/s: \(self.anz_total_frames / self.movieFileOutput.recordedDuration.seconds)" + String.newLine +

그것을 찾는 데 한 시간 이상이 걸렸습니다. 다른 사람의 시간을 절약 할 수 있기를 바랍니다. 30103533 번으로 Apple에 버그 보고서를 제출했습니다.


1

프로젝트를 swift 3으로 마이그레이션 한 후에도 동일한 문제에 직면했습니다. 데이터 유형없이 생성 된 사전 및 배열로 인해 시간이 걸리는 솔루션을 찾으십시오.


1

이 동작은 실수로 자신에서 상속 된 클래스를 선언했을 때 내 프로젝트에 나타났습니다. Xcode 8.2.1, Swift 3 사용.


1

나는 또한이 문제가 있었는데, 내 경우에는 다음과 같은 큰 배열을 선언했습니다.

var myArray: [(String, Bool?)]?
myArray = [("someString", someBool),
("someString", someBool),
("someString", someBool),
("someString", someBool),
("someString", someBool)
.
.
("someString", someBool)]

동시에 항목을 한 줄에 하나씩 추가하여 문제를 해결했습니다.

var myArray = [(String, Bool?)]()
myArray.append(("someString", someBool))
myArray.append(("someString", someBool))
myArray.append(("someString", someBool))
myArray.append(("someString", someBool))
myArray.append(("someString", someBool))
.
.
.

이것은 문제를 해결했습니다.


1

Objective-C 프로젝트의 경우 :

나는 똑같은 문제가 있었고 우리 프로젝트에는 Swift 코드가 없으므로 유형 추론 검사기가 아닙니다.

나는 여기에서 다른 모든 솔루션을 시도했지만 아무것도 작동하지 않았습니다. 마지막으로 해결 된 것은 컴퓨터를 복구 모드로 재부팅하고 디스크 수리를 실행하는 것입니다. 드디어 다시 안심하고 일할 수 있습니다!

아마도 서로를 가리키고 서비스가 끝없는 루프에서 실행되도록 만드는 깨진 ​​심볼릭 링크 때문에 발생했다고 생각합니다.


1

나는 Xcode 8.2.1에서 비슷한 문제가 있습니다-1,000 개 이상의 코드 섹션이 / * * /를 통해 주석 처리되었습니다. 섹션을 주석 처리하면 문제가 발생했으며 주석 처리 된 코드를 제거하면 문제가 해결되었습니다.


1

나는 여러 조합을 비슷한 것을 만났습니까 ?? 연산자를 사용하여 선택적 문자열 값에 대한 기본값을 제공합니다.

내 믿음직한 2010 년 중반 MacBook Pro의 팬이 열심히 작동하기 시작했을 때 아래 디버그 코드로 실험하고있었습니다. SourceKitService는 얻을 수있는 모든 CPU주기를 빨아 들였습니다. 문제가되는 줄에 주석을 달고 주석을 해제하면 SourceKitService가 무엇을 질식시키고 있는지 명확하게 알 수 있습니다. 둘 이상을 사용하는 것 같습니다 ?? 운영자가 기본값을 제공하는 것은 이전 시스템의 문제입니다. 해결 방법은 그냥하지 않는 것입니다. 여러 개의 할당으로 나누면보기 흉한 디버그 코드가 더 나빠집니다.

placeMark는 CLPlacemark의 인스턴스입니다. 여기에 사용 된 속성은 선택적 문자열을 반환합니다.

OS 10.12.4 (16E195)에서 실행되는 Xcode 버전 8.3.2 (8E2002)를 사용하고있었습니다.

// one term is not an issue
let debugString1 = (placeMark.locality ?? "")

// two terms pushes SourceKitService CPU use to 107% for about 60 seconds then settles to 0%
let debugString1 = (placeMark.locality ?? "")  + ", " +  (placeMark.administrativeArea ?? "") 

// three terms pushes SourceKitService CPU use to 187% indefinitely 
let debugString1 = (placeMark.locality ?? "")  + ", " +  (placeMark.administrativeArea ?? "")  + (placeMark.postalCode ?? "")

// ugly but it's safe to use
var debugString1 = placeMark.locality ?? ""
debugString1 = debugString1 + ", " +  (placeMark.administrativeArea ?? "")
debugString1 = debugString1 + " " + (placeMark.postalCode ?? "")

나는 이것이 문자열 연결 문제이며 ??가 아니라고 생각합니다. 그것은 가치와 노력이 될 것 "\() \()" 대신에 (문자열 보간)
브룩스 뒤부아

1

긴 배열을 함수로 변환하면 문제가 해결되는 것 같습니다.

var color: [UIColor] {
    return [
        UIColor(...),
        UIColor(...),
        ...
    ]
}

에:

func color() -> [UIColor] {
    return [
        UIColor(...),
        UIColor(...),
        ...
    ]
}

1

터미널에서 실행 :

killall Xcode
rm -rf ~/Library/Developer/Xcode/DerivedData/ModuleCache
open /Applications/Xcode.app

이 별칭을 사용하여 터미널 명령을 만들 수도 있습니다.

echo alias xcodeFix='killall Xcode;rm -rf ~/Library/Developer/Xcode/DerivedData/ModuleCache;open /Applications/Xcode.app' >> ~/.profile
source ~/.profile

그리고 그냥 실행

xcodeFix

0

https://www.logcg.com/en/archives/2209.html

SourceKitService는 Swift의 유형 추론 작업을 담당했습니다.

private lazy var emojiFace = ["?", "?", "?", "?"]

명시 적으로 입력하도록 변경

private lazy var emojiFace:[String] = ["?", "?", "?", "?"]

SourceKitService CPU 사용량이 즉시 감소합니다.


0

SwiftUI @ViewBuilder 블록 내에서 @dynamicMemberLookup 첨자를 호출 할 때 XCode 11.4.1에서 나에게 발생했습니다.


0

나는 같은 문제가 있었고 프로그래밍 오류로 인해 발생했습니다.

필자의 경우 비교 가능하고 동등한 프로토콜을 구현했으며 lhs.param 및 rhs.param은 lhs 및 rhs 클래스의 매개 변수와 일치하지 않았습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.