Xcode 4: сборка не удалась, проблем нет - PullRequest
89 голосов
/ 19 марта 2011

Приложение отлично работает в симуляторе, собирает и запускает.

Когда я подключаю свое устройство (iPhone 3GS под управлением iOS 4.3) и нацеливаюсь на iPhone, в результате получается «Сборка не удалась» с «Нет проблем».

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

При расширении стенограммы ошибок нет.

Я не могу исключить возможность ошибки подписи или инициализации, но она дала мне эти ошибки, я исправил их, и теперь он не дает мне никаких ошибок или проблем, просто «Сборка не удалась; никаких проблем»

  • Каким образом сборка может завершиться неудачей без проблем?
  • Можно ли как-то посмотреть вывод сборки, чтобы узнать, могу ли я найти причину, по которой она не работает без проблем?
  • Производится ли сборка за пределами списка проблем?
  • Я не вижу в окне сборки, где она пытается загрузить приложение на мое устройство - это вывод в другом месте?

Ответы [ 44 ]

76 голосов
/ 21 января 2015

Я получаю сообщение «Build Failed» без ошибок в навигаторе проблем (только предупреждения). Навигатор отчетов, однако, отображал ошибки правильно.

33 голосов
/ 24 марта 2011

Используете ли вы "Underscore" и "Space" и т. Д. Для идентификатора пакета?

Используете ли вы .m вместо .h в одном из ваших импортов?#import "Photo.h"

21 голосов
/ 19 марта 2011

Первое, что я попробую, это очистить все (меню Product / Clean) и собрать его заново. Возможно, вы уже пробовали это.

Вы найдете (и можете наблюдать во время сборки) полный вывод сборки в Log Navigator. Это самая правая иконка из маленьких значков чуть ниже кнопок Run и Build.

Файлы журналов сборки (и отладки) находятся в каталоге / Users / you / Library / Developer / XCode / DerviedData / YourProject-abcdefg / Logs / Build (и ../Debug соответственно).

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

19 голосов
/ 29 марта 2011

Есть ли пробел в названии продукта вашей цели?

Я знаю, что в более ранних версиях XCode это не было проблемой, но кажется, что они что-то сломали в XCode 4, так что это больше не работает (я подозреваю, что это как-то связано с бессмысленным путём в DerivedData),Вы можете добавить пробел к имени вашего приложения, как оно отображается на панели запуска вашего iDevice, установив для клавиши CFBundleDisplayName в Info.plist значение, отличное от ${PRODUCT_NAME}.

13 голосов
/ 21 марта 2011

В одном из локальных списков рассылки Cocoa Heads мне было предложено попробовать небольшой пример проекта по умолчанию - что-то, что я должен был сделать в начале, чтобы убедиться, что моя подготовка и подписание работали.Он был встроен и запущен на моем устройстве без проблем, поэтому все признаки указывают на проблему с моим кодом или проектом.

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


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

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

Возможно, воссоздание цели, как предполагает Пол в другом ответе, также исправит это,но с таким простым проектом перезапуск с нуля был для меня легким.

7 голосов
/ 22 мая 2012

После прохождения всех этих ответов у меня возникла та же проблема, но что-то другое решило ее для меня.

Проблема:

Сбой сборки без проблем после рефакторинга. (Переименовал класс, используя Edit -> Refactor -> Rename).

Самое глупое Решение, которое когда-либо было:

Перейти рефакторинг (переименовать) что-то еще (-_- "). После этого ошибка была в том, что XCode не удалось переименовать все соответствующие файлы и не отображать ошибки. Затем, после другого рефакторинга, ошибки из предыдущий рефакторинг появился.

7 голосов
/ 29 августа 2011

Я просто играл с добавлением нескольких проектов в рабочей области и получил эту проблему.У меня есть простая библиотека в одном из проектов, и я строил, и я добавил цель на основе окна iOS, чтобы протестировать ее.Я удалил первую цель, которую сделал для этого, чтобы переименовать ее.Прочитав это, я попытался удалить xcuserdata из пакета .xcodeproj , и это решило мою проблему.Я надеюсь, что это помогает кому-то еще.Запуск Xcode 4.1 на OS X 10.7.1.

7 голосов
/ 15 апреля 2011

Это случилось со мной после удаления неиспользованной цели. Кажется, что XCode поместил пробел в CFBundleIdentifier моей оставшейся цели (com.company.etc). Мне пришлось отредактировать Info.plist с помощью внешнего текстового редактора, чтобы удалить его, и тогда он работал нормально.

7 голосов
/ 14 апреля 2011

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

6 голосов
/ 25 апреля 2012

Для меня сборка не удалась без отображения ошибок в Навигаторе проблем. Однако в Log Navigator во время этого сеанса сборки я мог видеть ошибку. В моем случае ошибка была необъявленной константой. Я импортировал требуемый заголовочный файл, и проблема была решена. Я не уверен, почему эта ошибка не появилась в Навигаторе проблем.

Я пытался воспроизвести это поведение, сознательно изменив имя другой переменной. На этот раз ошибка была отображена в Issue Navigator. Поэтому я все еще не уверен, почему более ранняя ошибка не будет отображаться в Навигаторе ошибок.

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...