2016-09-28 2 views
8

Я обновил свой Xcode в Xcode 8 и принял все обновления, но я получаю сообщение об ошибке говорит мне "Command failed due to signal: Segmentation fault: 11"Xcode 8 «Сбой команды из-за сигнал: неисправность Сегментации: 11»

к сведению, что я знаю, этот вопрос очень близко к этому:

Xcode 7 compile error : "Command failed due to signal: Segmentation fault: 11"

также отметить, я использую сервер синтаксического анализа, я сомневаюсь, что это не имеет ничего общего с ним, но я думал, что я буду говорить об этом в случае.

но это не решило мою проблему, кто-нибудь имел эту проблему/решил ее?

спасибо!

+0

попробовать 'Cmd + Alt + k' очистить кэш сборки –

+0

@ ÖzgürErsil Я попробовал это, и он возвращается –

+2

это происходит из-за стручки третьих лиц, которые вы используете, попробуйте' стручок update' после вы очищаете кеш сборки –

ответ

3

Мы столкнулись с той же проблемой. Этот ответ действительно решает нашу проблему: Swift compiler segmentation fault when building

Перед тем, как использовать их в инструкции if, необходимо развернуть все опции.

+1

Не похоже, что это проблема здесь, я проверил свой код и, похоже, хорошо, я даже не получаю ошибку на определенной строке, она дает ошибку, когда я пытаюсь скомпилировать –

+0

. Мы получили ошибку также только когда мы скомпилировали наш код. Но если раньше вы разворачивали все варианты, то это, похоже, не так. Но есть ли у вас объективный код в вашем проекте? С новым выпуском Xcode некоторые функции object-c теперь возвращают опции, которые вы не видите непосредственно в Xcode – mbachm

+0

. Я использую только swift в моем проекте, так что это не проблема. –

-1

код этой ошибки

let fileManager = FileManager.default 
let fileAttributes = try! fileManager.attributesOfItem(atPath: OSWConfig.documentsPath.appendingPathComponent(folderName) as String) as NSDictionary 

//below code cause the error 

let createDate = fileAttributes.object(forKey: FileAttributeKey.creationDate)! as! NSDate 

правильный код без ошибок

let keysList = fileAttributes.allKeys as! [FileAttributeKey] 

let valuesList = fileAttributes.allValues 

let indexCreateDate = keysList.index(of: FileAttributeKey.creationDate)! as Int 

var createDate: NSDate! 
if indexCreateDate >= 0 { 
    createDate = valuesList[indexCreateDate] as! NSDate 

} 

Это решило мою проблему.

2

Это динамическая проблема с Xcode, но ее можно решить, изменив свой собственный код. Это случилось со мной, когда я переносил код из Swift2.3 в Swift3.1

В моем случае ошибка обнаружилась при определении метода и метод был присоединен как @IBAction для UIButton.

@IBAction func changeButtonTapped(_ sender: AnyObject) { 
    // some code 
} 

Изменение приведенного выше кода для последующего решения проблемы со сбоем для меня.

@IBAction func changeButtonTapped(_ sender: Any) { 
    // some code 
} 

EDIT1: Другой случай этой ошибки сегментации пришел.

На этот раз это было связано с повторного объявления переменной в более высоком объеме и с использованием в том же, если оператор Пример кода:

// 'var1' is defined in higher scope 
func someFunction() { 
    if let var2 = var1, 
     let var1 = someValue { 
     // some code 
    } 
} 

Xcode запутался, какой «var1» с именем переменной использовать для определения var2 , Изменение имен на что-то другое решит seg-fault.

0

Скорее всего, это ошибка кодирования, которую XCode не получил, поскольку встроенный анализ разбился/не ускорился. Просто перезапустите XCode, чтобы показать вам, где ошибка в вашем коде.

0

В моем случае происходит ошибка с кодом, аналогичным образом:

class AClass { 
    var url: String? 

    func aMethod() { 
     guard let urlString = url, let url = URL(string: urlString) else { 
      // Use `url` 
     } 
    } 
} 

Причина:

Тот факт, что url является необязательным экземпляр вар, что я разворачивать в себя, кажется, сбой компилятора Swift.

Обнаружение проблемы:

Что интересно, и может дать вам подсказку о том, где код-нарушитель находится, является то, что (по крайней мере в моем случае) редактор Xcode также падает пока вы написание кода:

enter image description here

Решение:

В моем случае мне просто пришлось развернуть дополнительный экземпляр var в другой переменной вместо себя (что было глупо в первую очередь ...). Например:

class AClass { 
    var url: String? 

    func aMethod() { 
     guard let urlString = url, let actualUrl = URL(string: urlString) else { 
      // Use `actualUrl` 
     } 
    } 
} 
Смежные вопросы