Xcode: Build Failed, но сообщений об ошибках нет

158

Использование Xcode 4.5.1. Наш проект строился нормально в течение последних трех месяцев, но внезапно, когда я пытаюсь построить, он говорит «Сборка не удалась», но не отображает никаких ошибок на вкладке восклицательного знака треугольника, а также не дает причину, когда он появляется Сборка не удалась.

Мы не меняли идентификатор пакета или какие-либо другие свойства проекта. Я пробовал чистить, потом строить, но не повезло.

Что может быть причиной проблемы?

Аналогично этому вопросу , но ни одно из решений не применимо.

Джейсон
источник
Возможный дубликат Xcode 4: сборка не удалась, проблем нет
Марк Эмери

Ответы:

234

Догадаться. На вкладке с тремя строками в речевом пузыре отображается журнал сборки. Я думаю, что мой файл раскадровки был поврежден во время последнего git pull.

Джейсон
источник
У меня была только общая проблема в коде с такими симптомами. Я догадался, что clang может передавать сообщения об ошибках в коде на вкладку вопросов ...
Петр Кориенев,
191

Вы можете увидеть причины сбоя Report Navigatorв окне Navigator.

  • Откройте навигатор, нажав Hide/Show Navigatorкнопку в левом верхнем углу Xcode.

Снимок экрана 1

  • Откройте Report Navigator, нажав на последнюю кнопку, присутствующую в списке кнопок в окне навигатора.

Снимок экрана 2

Здесь Вы можете просмотреть причины либо By GroupилиBy Time

Джайпракаш Дубей
источник
4
Это похоже на мою спецификацию на голове, и я ищу по всему миру ...
Фахим Паркар
101

Нажмите на последний значок в верхней панели самой левой панели в окне Xcode, чтобы открыть секретные ошибки сборки архива .

введите описание изображения здесь

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

крис
источник
43

Нажмите на последний значок в верхней панели самой левой панели в окне Xcode, чтобы выявить «секретные» ошибки сборки архива. У меня были проблемы с разрешением, которые решили для меня.

Xcode - Report Navigator

Сарати С
источник
6

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

Система сборки

Аллан Скофилд
источник
Ух ты, круто. На моем XCode это была стандартная система сборки. Я перешел на новую систему сборки, и проблема была решена 🤣.
ManuQiao
Файл> Настройки рабочего пространства
Аллан Скофилд,
2
На самом деле, здесь выберите Показать все проблемы вместо «Показать проблемы только для активной схемы», и все хорошо. Новая система сборки имеет огромное преимущество в производительности по сравнению со старой с проектами Swift.
Чарли Монро
2

Столкнулся с той же проблемой с xCode 8, причина в том, что мой сеанс Apple Id истек, и xCode не смог его обновить из-за проблем с сетевым подключением после того, как я вошел в систему с моим идентификатором Apple в настройках. Я смог построить нормально снова

Мохамед Элькассас
источник
1

Я согласен с Джейсоном. Вы должны сделать что-то не так. Это ошибка XCode, что он не мог выдать ошибку. Просто вернитесь на свой путь. Открытые экраны, которые вы редактировали / открывали в прошлый раз. В моем случае ;отсутствовал один контроллер.

AsifHabib
источник
1

Это случилось со мной, когда я писал Swift 4.1в XCode 9.3. Я использую RxSwiftтакже. Этого не случилось, пока я писал Objective C. Никаких логов Report Navigatorтоже не было. Проект просто скомпилирован без ошибок, затем провалился. Не могу понять, почему.

В моем случае, что я сделал, и это помогло:

  1. Зафиксируйте изменения в Git, а затем отмените изменения в XCode, если он показывает «M» рядом с файлами
  2. Очистить производные данные: Xcode -> Preferences -> location
  3. Папка чистой сборки: Shift + Cmd + Alt + K
  4. Перезапустите XCode

После этого проект попытался скомпилировать и показал ошибки. Ошибка была здесь:

do {
    let jsonData = try JSONSerialization.data(withJSONObject: timingsDict, options: .prettyPrinted)
    let decoder = JSONDecoder()
    let pTiming = try decoder.decode(PTiming.self, from: jsonData)
    observer.onNext(timing)
    observer.onCompleted()
} catch {
    print(error.localizedDescription)
    observer.onError(error)
}

Я передал неправильное имя переменной в observer.onNext(timing). Это должно было быть pTiming.

Денис Кутлубаев
источник
1

Возможно, не осталось свободного места на диске.

Бурак
источник
привет и добро пожаловать на ТАК! обратите внимание, что на этот вопрос уже принят ответ на stackoverflow.com/a/14625517/6619250 .
hongsy
0

Другие ответы помогли мне найти Report Navigator. Единственная отображаемая ошибка:

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

Я исправил это, закрыв симулятор.

Трой Карлсон
источник
0

Со мной это был профиль разработки dev, который я использовал для этой схемы. Я изменил его на выпуск, и это сработало

Александр Витанов
источник
0

Это также часто случается, если «магический» macOS автоматически перезагружает XCode после загрузки. Этот автоматически запущенный экземпляр XCode будет полностью поврежден. Выйдите и перезапустите.

Семь Систем
источник