GM выпуск компиляции Xcode 6

Я только что загрузил выпуск GM Xcode 6 и не скомпилируется с этой ошибкой:

Command /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swiftc failed with exit code 1 

Есть какие нибудь идеи как это починить?

21 Solutions collect form web for “GM выпуск компиляции Xcode 6”

Эта ошибка может произойти по многим причинам, поэтому это должно быть подсказкой для отладки. Вы можете попробовать использовать xcodebuild в командной строке. Он даст вам подробную информацию о том, какие файлы являются виновниками.

Для этого откройте «Терминал» и перейдите в папку проекта. После этого введите

 xcodebuild -project YourProject.xcodeproj -scheme YourScheme 

или если вы работаете в рабочей области

 xcodebuild -workspace YourProject.xcworkspace -scheme YourScheme 

Вы можете увидеть много сообщений, но в самом конце вывода вы должны увидеть конкретные файлы, вызывающие сбой. Вернитесь в XCode, зайдите в эти файлы и начните играть с некоторым синтаксисом Swift, чтобы узнать, что происходит. В моем случае это связано с функцией setAttributeString, но я видел, что другие люди имеют проблемы с! а также ?.

Надеюсь, это заставит вас идти в правильном направлении.

Мне пришлось изменить свой «уровень оптимизации» на «Нет» [-0none]

Цель> Параметры сборки> Быстрый компилятор> Уровень оптимизации.

Мое дело было немного иным, и оно включает перечисления и варианты. Для простоты давайте определим

 enum Animal { case Dog case Cat } func exampleAction(animal: Animal) {} exampleAction(.Cat) 

Он будет работать нормально. Однако, как только я сделал аргумент опционным, ошибка начала появляться. Таким образом, этот код не будет работать:

 func exampleAction(animal: Animal?) {} exampleAction(.Cat) 

Чтобы он работал, мне пришлось добавить явное имя перечисления в вызов метода. Таким образом, следующий код снова работал:

 exampleAction(Animal.Cat) 

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

 dispatch_async(dispatch_get_global_queue( DISPATCH_QUEUE_PRIORITY_DEFAULT, 0) ){ [weak self] in // ... dispatch_async(dispatch_get_main_queue()) { [weak self] in // ... return } } 

В верхнем коде просто удалите «[слабый я]», называемый списком захвата, удалит ошибку компилятора. Меня устраивает.

 dispatch_async(dispatch_get_global_queue( DISPATCH_QUEUE_PRIORITY_DEFAULT, 0) ){ [weak self] in // ... dispatch_async(dispatch_get_main_queue()) { // ... return } } 

Версия xCode – 6.1.1

Может быть той же проблемой Ошибка компиляции Swift в XCode 6 GM

У меня была та же проблема, затем я использую git checkout для старых версий, чтобы найти причину этой проблемы и попытаться найти код проблемы с ключом. Мой ключевой код проблемы – это что-то вроде этого

 func afunc() { class AClass() { } let ac = AClass() //.... } 

Другой код может сделать ту же проблему, возникающую в Swift Optimization, а быстрый компилятор не сообщает вам точное местоположение. Это должно быть ошибкой Apple.

В моем случае я изменил 3 места:

Target> Настройки сборки> Swift Compiler>

  • Уровень оптимизации.
    • Отладка: нет [-Одно]
    • Распространение: самый быстрый [-O]
    • Выпуск: самый быстрый [-O]

Когда я изменил только Debug, у меня появились ошибки, такие как «Исходный комплект разбился …». Эта комбинация параметров работает очень хорошо для меня!

Если вы используете какой-либо API, который должен использоваться в ранней версии iOS, вы можете получить сбои сборки. Например: если вы используете UI_USER_INTERFACE_IDIOM () вместо UIDevice.currentDevice (). UserInterfaceIdiom, чтобы идентифицировать тип устройства, вы получите эту ошибку сборки без подсказки.

У многих людей есть эта проблема (включая меня) из-за оптимизации на компиляторе. Я не считаю отключением оптимизации правильное разрешение – я хочу, чтобы мой код был оптимизирован для работы как можно быстрее.

повторное выполнение xcodebuild вручную не приносило пользы, поскольку оно выполняло его без оптимизаций.

Однако – экран ошибки дал мне команду swiftc, которая не срабатывала:

 /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swiftc -target arm64-apple-ios8.0 -incremental -module-name SpaceCats -O -sdk /Applic... 

-O есть флаг оптимизации.

Я перезапустил всю эту команду в каталоге проектов (согласно рекомендации xcodebuild выше), и среди всех деталей я нашел ошибку ниже:

 { "kind": "finished", "name": "compile", "pid": 10682, "output": "Bitcast requires both operands to be pointer or neither\n %228 = bitcast i8* %227 to %VSs20UnsafeMutablePointer, !dbg !1322\nBitcast requires both operands to be pointer or neither\n %324 = bitcast i8* %323 to %VSs20UnsafeMutablePointer, !dbg !1322\nBitcast requires both operands to be pointer or neither\n %411 = bitcast i8* %410 to %VSs20UnsafeMutablePointer, !dbg !1322\nBitcast requires both operands to be pointer or neither\n %498 = bitcast i8* %497 to %VSs20UnsafeMutablePointer, !dbg !1322\nLLVM ERROR: Broken function found, compilation aborted!\n", "exit-status": 1 } 

Если вы хотите, чтобы он переместился в файл вместо экрана, добавьте «2> filename» в конец.

Затем мне пришлось найти pid (10682) в файле, чтобы посмотреть, что он компилирует. Я запустил команду для этого pid вручную и дал мне ошибку для конкретного файла. Затем дело сводится к исправлению кода.

Я вижу много причин. Мой ответ не является общим решением, а просто добавляет еще один случай, который обеспечивает эту ошибку. В моем случае он установил заголовок кнопки следующим образом:

 button!.setTitleColor(.whiteColor(), forState: UIControlState.Normal) 

вместо этого:

 button!.setTitleColor(UIColor.whiteColor(), forState: UIControlState.Normal) 

В моем случае эта ошибка была вызвана неправильной кодировкой файла (UTF8) .swift; Решено путем копирования вставки содержимого файла в новый файл.

Перейдите в папку: Пользователи / пользователь / Библиотека / Разработчик / Xcode / DerivedData

и очистить весь файл,

затем очистить и проанализировать,

Это работа для меня.

У меня есть следующий код, показывающий ошибку сборки в Release.

 if myValue > 5 { myValue = 5.0 } if myValue < 0 { myValue = 0 } 

Добавление else между операторами if устраняет проблему:

 if myValue > 5 { myValue = 5.0 } else if myValue < 0 { myValue = 0 } 

Демо: https://github.com/exchangegroup/build-error-demo

Xcode Version 6.1 (6A1052d). Строит все в отладочном режиме. Поданный билет в Apple Bug Reporter.

Просто чтобы выразить это: я получаю эту ошибку всякий раз, когда я помещаю [unowned self] в блок внутри блока, например:

 lazy var someVar: SomeType = { self.successBlock = {[unowned self] in // ... } }() 

Решение состоит в том, чтобы положить [unowned self] только в блок верхнего уровня. Кажется, что некорректная ссылка на self обрабатывается автоматически для блоков внутри блоков.

Конечно, я смог найти эту ошибку, сначала выяснив неприятный файл с помощью ответа @ Максвелла: https://stackoverflow.com/a/26848000/855680

Чтобы добавить мой случай здесь. Я получил описанную ошибку всякий раз, когда я отмечаю закрытие [unowned self], но никогда не ссылаюсь на self в самом закрытии.

Например:

  request.startWithSuccess({ [unowned self] (req: CBRequest!, object: AnyObject!) -> Void in if let result = object["result"] as? [NSObject: AnyObject] { popup.type = result["email"] == nil ? AuthPopupType.Signup : AuthPopupType.Login } else { println("WARNING: Malformed response for kCBCheckUniquenesPath request.") } }, failure: { (req: CBRequest!, err: NSError!) -> Void in println("ERROR: Failure response for kCBCheckUniquenesPath request.") }) 

Следуя предложению @ maxvel, я узнал, что функции max () и min () не удалось скомпилировать в режиме выпуска. Я заменил его своими собственными функциями, как показано ниже.

 //Swift compiler seems to failing to compile default min and max functions in release //mode hence writing my own // func maximum<T: Comparable> (one: T, other: T) -> T { if one > other { return one } else { return other } } func minimum<T: Comparable> (one: T, other: T) -> T { if one < other { return one } else { return other } } 

изменение

 func tableView(tableView: UITableView!, cellForRowAtIndexPath indexPath: NSIndexPath!) -> UITableViewCell! 

К

 func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell 

и делать то же самое с другими, как это

Решение Максвелла дает вам самый близкий намек.

Обнаружение этой ошибки при компиляции синтаксиса Swift 2.0 в Xcode 6.4:

print(string, appendNewline: true);

Вернитесь к Xcode 7, и ошибка исчезла.

В моем случае Xcode дал ошибку из-за следующей строки:

 if UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiom.Phone { }else { } 

И чтобы исправить ошибку, я определил это:

 enum UIUserInterfaceIdiom : Int { case Unspecified case Phone // iPhone and iPod touch style UI case Pad // iPad style UI } 

И затем я использовал его как:

  if UIDevice.currentDevice().userInterfaceIdiom == .Phone { } 

Удачи !

Я также получил эту ошибку. Я запустил команду в Terminal, как было предложено @Maxwell, и выяснил, что ошибка была в моем файле GameViewController.swift. Немного копаясь и обнаружив, что ему не понравился какой-то автоматически сгенерированный код или код, столкнувшийся с настройкой в ​​Xcode где-то

 override func supportedInterfaceOrientations() -> UIInterfaceOrientationMask { if UIDevice.currentDevice().userInterfaceIdiom == .Phone { return .AllButUpsideDown } else { return .All } } 

Как только я удалил этот блок, ошибка исчезла.

Я думаю, что реальной проблемой является слишком много ошибок, поэтому компиляция скажет вам только путаный код ошибки.

Но вы всегда можете открыть каждый файл исходного кода, там вы найдете подробную информацию об ошибках и правильные советы.

Удачи!

  • Проверить приложение на ошибку архива магазина iOS
  • Просмотр изображения Xcode6 + Каталог активов. Изображение не отображается
  • Создание диаграммы классов с использованием проекта xcode
  • Путайте ошибку компиляции, пытающуюся перейти на Swift 1.2
  • Симулятор iOS5 на XCode5-GM
  • Остановить анимацию UIView
  • Я хочу разместить Table View точно до панели навигации
  • Тип «AnyObject» не соответствует протоколу «NSFetchRequestResult»
  • Отладка неперехваченного исключения в Xcode
  • Чтение iOS из файла
  • Может ли xcodebuild управлять автоматической подпиской?
  • PhoneC: Разработка iOS проста с помощью XCode, Swift3, UITableView, cocatouch, давайте создадим приложения для iPhone, iPad и Macbook.