2012-05-18 5 views
4

У меня есть ряд проектов в рабочей области, и пытается использовать следующий тип команды, чтобы построить их с помощью командной строки:Почему xcodebuild дают разные результаты сборки, чем XCode UI

"Xcodebuild -project XXX" 
or 
"Xcodebuild -workspace XXX -scheme YYY" 

Некоторые из моих проекты строятся отлично, но другие дают странные ошибки, например, «XXX», например, сообщение не объявляет метод с селектором »или« ld: библиотека не найдена для -lMyLibrary »

Однако все эти проекты строятся изнутри XCode Пользовательский интерфейс без проблем.

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

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

Любые идеи?

+1

Вам удалось решить эту проблему? Имея точно такую ​​же «библиотеку не найденную» проблему и не могу для жизни выяснить, что делать. – devios1

ответ

2

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

Учитывая ваши ошибки, ваша наиболее вероятная проблема заключается в том, что вы использовали панель построения (why I hate the build pane for large projects), и вы сделали классическую ошибку при применении некоторых параметров для Debug, а не для всех конфигураций.

+0

Спасибо за ответ. К сожалению, я не думаю, что это причина моей проблемы, так как я просто попробовал две сборки с «-конфигурацией Release» и «-configuration Debug», и оба не работают одинаково. – Locksleyu

Смежные вопросы