Приложение отлично работает в симуляторе, строит и запускает.
Когда я подключаю свое устройство (iPhone 3GS под управлением iOS 4.3) и нацеливаюсь на iPhone, появляется сообщение «Сбой сборки» и «Нет проблем».
В окне результатов сборки все зеленое, есть галочка, включая уведомление о сбое сборки .
Расширение стенограммы не показывает ошибок.
Я не могу исключить возможность ошибки подписи или обеспечения, но он дал мне эти ошибки, я их исправил, и теперь он не дает мне никаких ошибок или проблем, просто «Сборка не удалась; проблем нет»
- Каким образом сборка может завершиться неудачно?
- Есть ли способ посмотреть результат сборки, чтобы узнать, смогу ли я найти причину сбоя без проблем?
- Производится ли сборка помимо списка проблем?
- Я не вижу в окне сборки, где оно пытается загрузить приложение на мое устройство - этот вывод где-то еще?
Ответы:
Я получаю сообщение «Build Failed» без ошибок в навигаторе проблем (только предупреждения). А вот навигатор отчетов правильно отображал ошибки.
источник
Используете ли вы «подчеркивание», «пробел» и т. Д. Для идентификатора пакета?
Используете ли вы .m вместо .h в одном из импортируемых файлов? #import "Photo.h"
источник
Первое, что я попробую, это очистить все (меню «Продукт» / «Очистить») и собрать заново. Возможно, вы уже пробовали это сделать.
Вы найдете (и можете наблюдать во время сборки) полный вывод сборки в Log Navigator. Это самый правый значок из маленьких значков чуть ниже кнопок «Выполнить» и «Сборка».
Файлы журнала сборки (и отладки) находятся в каталоге / Users / you / Library / Developer / XCode / DerviedData / YourProject-abcdefg / Logs / Build (и ../Debug соответственно).
Я не думаю, что есть какие-либо выходы для установки вашего приложения на устройство.
источник
Есть ли место в названии продукта вашей цели?
Я знаю, что в более ранних версиях Xcode это не было проблемой, но похоже, что они что-то сломали в Xcode 4, поэтому он больше не работает (я подозреваю, что это как-то связано с бессмыслицей пути DerivedData). Вы можете добавить пробел к имени вашего приложения, как оно отображается на панели запуска вашего iDevice, установив
CFBundleDisplayName
ключ в чем-Info.plist
то, кроме${PRODUCT_NAME}
.источник
В одном из местных списков рассылки Cocoa Heads меня посоветовали попробовать создать небольшой образец проекта по умолчанию - что я должен был сделать вначале, чтобы убедиться, что моя подготовка и подписание работают. Он собран и работал на моем устройстве без проблем, поэтому все признаки указывают на проблему с моим кодом или проектом.
Я буду перебрасывать вещи из существующего проекта в новый образец проекта, и если он потерпит неудачу аналогичным образом, я смогу сузить проблему до меньшей интересующей области.
Я добавил основные функции приложения в новый проект, и он работает нормально. Единственное, что я на этот раз сделал иначе, так это то, что я не настроил универсальный двоичный файл (только для iPhone сейчас) и отключил все, кроме портретной ориентации. Насколько я могу судить, все остальное то же самое, хотя, если я решу изучить это позже, я сравню файлы проекта и посмотрю, что еще может отличаться.
Поэтому решением для меня было начать новый проект и перенести всю функциональность из старого проекта в новый.
Возможно, воссоздание цели, как предлагает Пол в другом ответе, также исправит ее, но с таким простым перезапуском проекта с нуля для меня было легко.
источник
У меня была та же проблема, и, как и кто-то другой, предположил, что это связано с идентификатором пакета. Я недавно поменял его, в качестве теста, и поставил в нем звездочку. Я исправил это, и мне пришлось очистить цель, и тогда это сработало.
источник
Это случилось со мной после удаления неиспользуемой цели. Кажется, что Xcode поместил пробел в CFBundleIdentifier моей оставшейся цели (com.company.etc). Мне пришлось отредактировать Info.plist с помощью внешнего текстового редактора, чтобы удалить его, и тогда он работал нормально.
источник
Я просто играл с добавлением нескольких проектов в рабочую область и столкнулся с этой проблемой. У меня есть простая библиотека в одном из проектов, который я создавал, и я добавил цель на основе окна iOS, чтобы проверить ее. Я удалил первую цель, которую сделал для этого, чтобы переименовать ее. Прочитав это, я попытался удалить xcuserdata из пакета .xcodeproj, и это устранило мою проблему. Надеюсь, это поможет кому-то другому. Запуск Xcode 4.1 в OS X 10.7.1.
источник
Пройдя через все эти ответы, у меня была точно такая же проблема, но что-то другое решило ее для меня.
Проблема:
После рефакторинга сборка завершилась неудачно. (Переименовал класс с помощью Edit -> Refactor -> Rename).
Самое глупое решение:
Выполните рефакторинг (переименуйте) что-нибудь еще (-_- "). После этого ошибка заключалась в том, что Xcode не смог переименовать все соответствующие файлы и не показывал ошибок. Затем, после другого рефакторинга, появились ошибки из предыдущего рефакторинга .
источник
У меня была такая же проблема. Я пытался исправить это, произошел сбой xcode. Я снова открыл его, и он работал нормально. Может мне повезло что ли? Как бы то ни было, мне все равно, что с ним не так, пока он работает сейчас
источник
Если вы изменили идентификатор пакета и очистили проект, но это тоже не сработало, попробуйте очистить каталог / Users / YOUR_USERNAME / Library / Developer / Xcode / DerivedData.
Меня устраивает.
источник
Для меня сборка не удалась, без отображения ошибок в навигаторе проблем. Однако в навигаторе журналов в этом сеансе сборки я мог увидеть ошибку. В моем случае ошибка была необъявленной константой. Я импортировал требуемый файл заголовка, и проблема была решена. Я не уверен, почему эта ошибка не отображалась в навигаторе проблем.
Я попытался воспроизвести это поведение, намеренно изменив имя другой переменной. На этот раз ошибка отображалась в навигаторе проблем. Итак, я все еще не уверен, почему более ранняя ошибка не отображается в навигаторе проблем.
Надеюсь это поможет.
источник
Вышеупомянутые решения не работают для меня.
Мое решение - переместить проект в другую папку.
Ошибки сборки тогда просто появляются, как обычно.
источник
Вы очистили папку сборки? Перейдите в меню «Продукт», нажмите и удерживайте клавишу «Option» и выберите «Очистить папку сборки…»
источник
Я знаю, в чем проблема: в Info.plist -> Bundle Identifier: вы не можете использовать '_'. Например, com.mycompany.My_app недействителен, но com.mycompany.My-app в порядке.
источник
У меня была точно такая же проблема при попытке скомпилировать существующий проект в xcode 4, и я почти прошел через боль воссоздания проекта.
Однако в последней попытке я заменил файл info.plist на новый, который включал дополнительные теги для «типов документов», «типов URL», «UTI экспортированного типа» и «UTI импортированного типа».
Похоже, это сработало и оказалось на удивление простым исправлением для моего проекта.
источник
Это случилось со мной с моей целью UnitTest. Работал, а потом перестал. Я забыл, что просто удалил .h / .m в файловой системе и не удалил его из файла проекта, однако XCode не сообщил об этом.
Я понял это, запустив проект в командной строке, которая сообщила мне об ошибке:
/usr/bin/xcodebuild -target "UnitTest"
Запустите это в папке, в которой находится файл вашего проекта, и замените UnitTest своей целью - или просто не передавайте цель для создания цели по умолчанию.
источник
У меня тоже была эта проблема, но причина была в другом:
У меня есть рабочее пространство с одним проектом. В этом проекте я использую фреймворк, который включается путем добавления проекта Xcode в мой проект. Я импортировал файл заголовка фреймворка в свой заголовок префикса (.pch). Это было глупо.
Решением было удалить #import файла заголовка фреймворка из моего файла заголовка префикса и добавлять его только там, где это необходимо.
источник
Та же проблема здесь при сборке для устройства. Сборка не удалась, но в моем журнале все зеленые галочки. Очистка / удаление папки сборки не исправляет. Я читал в другом месте, что кто-то решил эту проблему, удалив и воссоздав цель, но я еще не полностью понял, как это сделать в XCode 4.
Моим временным решением было загрузить и установить XCode 3.2.6 с iOS 4.3. Я не понимал, что Apple также выпустила версию XCode 3, включающую iOS 4.3, позволяющую отложить обновление до XCode 4. Я отправил в Apple отчет об ошибке по проблеме сбоя сборки.
обновление от Apple:
Я перешел с подчеркивания на тире, и проблема была решена.
источник
То же самое случилось со мной по другой причине.
Я удалил get-task-allow из файла Entitlements.plist, оставив пустой список. В настройках сборки все еще был файл Entitlements.plist, указанный как мой файл Entitlements. Выбрал запуск с использованием моих настроек Ad-Hoc сборки на устройстве iOS с подключенным iPhone и увидел поведение, описанное в этой ошибке. Добавление get-task-allow back исправило это.
источник
похоже, что есть много возможных причин этой проблемы. Мой оказался таким
Моя цель была настроена на использование несуществующего профиля подготовки.
Я настроил свой проект на использование нового профиля и удалил старый. Не осознавал, что у цели был свой собственный параметр профиля подготовки, который по-прежнему был установлен на старый (теперь удаленный) профиль.
источник
Просто чтобы добавить еще один ответ после безуспешной попытки ВСЕ вышеперечисленного: мне пришлось перезапустить MacBook, а не только закрыть XCode, и это сработало для меня. Это закончилось тем, что XCode показал некоторые ошибки в Localizable.strings, которые он не отображал раньше.
надеюсь, это поможет
источник
Я очищаю все пробелы в схемах проекта в xcschemes, и это решает эту проблему. Ебать Apple :( AppCode ROCKS!
источник
см. http://developer.apple.com/library/ios/#DOCUMENTATION/FileManagement/Conceptual/understanding_utis/understand_utis_conc/understand_utis_conc.html
источник
У меня не было проблем с названием пакета, поэтому предлагаемые решения мне не помогли. Наконец, я установил знак «Не кодировать» для сборки, затем закрыл проект, затем удалил подготовку в органайзере, затем загрузил новую подготовку и добавил ее в органайзер, а затем установил их для сборки. Это сработало.
источник
Это не технический ответ, а ответ «ошибка пользователя», который, вероятно, не относится к вашей ситуации. Это случилось со мной, и мои поиски привели меня к этим вопросам и ответам безрезультатно - пока я не осознал свою ошибку. У меня был установлен фильтр в навигаторе проблем, который не соответствовал ничему, о котором сообщалось как о проблеме. Когда я очистил фильтр, проблемы были отображены.
Обратите внимание, что симптомы были такими же, о которых вы спрашивали, и я понятия не имею, когда я установил этот фильтр (он должен быть унаследован от других представлений навигации), поскольку мне не потребовалась бы фильтрация в коротком списке.
источник
У меня была похожая проблема. Нигде не смог найти ошибку. Удалил все мои профили подготовки и добавил новые.
Затем я попытался создать еще одно тестовое приложение для своего устройства и получил следующее сообщение об ошибке:
Ошибка подписи кода: идентификатор сертификата «Разработчик iPhone: xxxxxx» появляется в цепочке для ключей более одного раза. Инструмент кодового оформления требует, чтобы был только один.
Итак, я зашел в Связку ключей, нашел пару просроченных сертификатов с тем же именем и удалил их, и это помогло.
Довольно случайный, но, возможно, если вы попытаетесь создать другое приложение для устройства, как я, вам может повезти, и вы получите сообщение об ошибке, как и я, чтобы помочь диагностировать проблему.
источник
Перейдите в Организатор в xcode. И на вкладке Project удалите этот проект. Позвольте xcode восстановить производные данные снова, чтобы исправить мою проблему.
источник
Я столкнулся с аналогичной проблемой в XCode4.5, и во время работы над моим приложением XCode внезапно разбился.
После нескольких часов поиска я обнаружил, что один из моих файлов в моем приложении был удален при сбое xcode.
Я восстановил файл из корзины, и проблема была решена.
источник
Я программировал приложение Mac OS X без кодовой подписи . Когда я включил песочницу в разделе «Права», автоматически включалась кодовая подпись, и я не мог создать новую сборку.
источник