iOS: XCode 4.5: ошибка xcodebuild — фатальная ошибка: файл «UIKit/UIKit.h» не найден

Поэтому я хотел бы использовать xcodebuild в терминале для создания сборки из тестового приложения (называемого RunTeszt2). Приложение представляет собой приложение с одним представлением для iOS, в котором ничего нет, только что созданное и закрытое.

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

xcodebuild -target "RunTeszt2" -sdk "$iphoneos5" -configuration Debug

Ошибка:

/Users/toodygarik/Desktop/RunTeszt2/RunTeszt2/RunTeszt2-Prefix.pch:12:13: fatal error: 'UIKit/UIKit.h' file not found #import <UIKit/UIKit.h>

The following build commands failed:
ProcessPCH /var/folders/6s/cjw35hhs5lb6wpnx9m8lr2km0000gn/C/com.apple.Xcode.501
/SharedPrecompiledHeaders/RunTeszt2-Prefix-bxwegbsdjylasccydwchfkbjadur/
RunTeszt2-Prefix.pch.pth RunTeszt2/RunTeszt2-Prefix.pch normal i386 objective-c
com.apple.compilers.llvm.clang.1_0.compiler

Когда я запускаю приложение из XCode (4.5), сборка завершается, и все в порядке. Я проверил журнал console.app при запуске приложения из XCode, и он не отображает сообщение об ошибке выше.

Что вызывает эту проблему?

РЕДАКТИРОВАТЬ: Основываясь на комментарии H2CO3, я отредактировал запись «Другие флаги C» в настройках сборки проекта, например:

-isysroot $SDKROOT

... и теперь эта конкретная проблема решена. Я вернулся к другой моей проблеме, связанной с xcodebuild: from-file">iOS: XCode 4.4.1: ошибка xcodebuild — невозможно прочитать диагностику из файла

Спасибо, H2CO3!


person Zoltán Matók    schedule 21.09.2012    source источник
comment
Как я могу установить его и на что он должен быть установлен?   -  person Zoltán Matók    schedule 21.09.2012
comment
Добавьте -isysroot ‹SYSROOT› к флагам компилятора и компоновщика, где SYSROOT должен быть путем к каталогу iPhoneOSXXX.sdk (XXX — номер версии).   -  person    schedule 21.09.2012
comment
Как я могу найти каталог, в котором находится SDK? Должен ли я указать путь в других флагах компоновщика в настройках сборки? Или еще какое-то место?   -  person Zoltán Matók    schedule 21.09.2012
comment
Да, другие флаги компоновщика/компилятора — это нормально, и обычно они находятся где-то в /Developer/Platforms или в /Applications/Xcode.app.   -  person    schedule 21.09.2012
comment
Я нашел SDK и попытался создать флаг. Пожалуйста, смотрите редактирование, которое я внес в исходный вопрос.   -  person Zoltán Matók    schedule 21.09.2012
comment
Спасибо, за помощь, я обновил свой вопрос!   -  person Zoltán Matók    schedule 21.09.2012
comment
Я сделал это ответом, пожалуйста, проголосуйте/примите, если это помогло. Кроме того, я нашел для вас это — у этого парня была похожая проблема с вашей. . (Es koszi megegyszer, remelem, sikerul megoldani! :-)   -  person    schedule 21.09.2012


Ответы (1)


Вы должны указать системный корень разработки конкретной ОС, на которую вы ориентируетесь, иначе компилятор и компоновщик не смогут найти заголовки и библиотеки. Добавьте -isysroot <SYSROOT> к флагам компилятора и компоновщика, где SYSROOT должен быть полным путем к каталогу iPhoneOSXXX.sdk (XXX — номер версии iOS).

person Community    schedule 21.09.2012