2013-11-01 3 views
7

Так что, когда я пытаюсь создать свой код с терминала xcode, он терпит неудачу и дает мне ошибку «файл Cordova/CDVViewController.h» не найден, но когда я создаю это из xcode, тогда он строит просто отлично.Файл «Cordova/CDVViewController.h» не найден при запуске в терминале Xcode

В моем Xcode я сделал всю справочную статью Кордовы Upgrade Cordova. Также, когда я запускал список. Это то, что я вижу ниже:

xcodebuild -list

Информация о проекте "MyProject":

Targets: 
    myProject 

Build Configurations: 
    Debug 
    Release 

If no build configuration is specified and -scheme is not passed then "Release" is used. 

Schemes: 
    myProject 
    CordovaLib 

среды: Xcode5, OS 10.8.5

Есть что-нибудь мне не хватает ? Причина, почему я делаю это, потому что я пытаюсь запустить это через дженкинсов. Я подумал, что это проблема с дженкинсом, но потом я добрался до терминала xcode, не увидев CordovaLib.

+0

Не такая же проблема, поскольку задействованы разные версии Xcode и iOS, но вот исправление для очень похожей проблемы: https://github.com/meteor/meteor/issues/5496 – MastaBaba

ответ

17

Я потратил слишком много времени на то, чтобы решить это решение, поэтому стыдно не делиться. Могут быть много возможных причин, почему эта проблема возникает, но если вы чувствуете, что все настроено правильно в CordovaLib (как и я!) И все еще имеет ту же проблему. Это может быть одной из причин. Что происходит, когда я побежал

xcodebuild -scheme myProject -configuration "Release" 

он успешно строит, но если вы не предоставите «-схема» он будет не в состоянии по умолчанию он использует «Release». Параметры схемы будут контролировать, какие цели создаются и как они построены, схема myProject содержит подпапку и ссылку на Cordovalib.

Теперь, перейдя к Дженкинсу, вам нужно предоставить схему в текстовом поле «Файл схемы Xcode» в разделе «Дополнительные параметры Xcode» модуля XCode Plugin.

Моя установка является Xcode, как мой раб, но это все еще может применяться к любой Xcode и комбинации Дженкинс у вас есть - поэтому, когда я побежал

xcodebuild -list 

выдаётся сообщение следующее сообщение:

If no build configuration is specified and -scheme is not passed then "Release" is used. 

This project contains no schemes. 

Решение для этого, в вашем проекте xcode, перейдите на страницу Product | Scheme | Manage Scheme и проверите «Shared» на оба проекта myProject и CordovaLib. Компиляция. Регистрация (потому что я хватаю это из TFS). Выполните повторную команду «-list», и вы увидите схемы, которые вы только что разделили.

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

+0

Вы должны принять ваш ответ , Это фиксировало мою проблему (добавив мою схему в раздел XCode в Jenkins. – ganders

+0

для меня это потому, что у меня было «Legacy», выбранное в настройках ...> Location> Advanced – Jacksonkr

5

Большое спасибо! Просто добавление параметров «-схемы» и «-конфигурации» устранило проблему для меня.

Если это может помочь кому-то еще, вот полный командной строки я использовал:

xcodebuild -схема MyProject -конфигурация "Release" -arch i386 -sdk iphonesimulator7.1

Я использовал его для создания ИОС имитатора сборки для того, чтобы подать заявку PhoneGap/Кордова к Facebook Review

+0

Добро пожаловать! Я рад, что это помогает кому-то. – maridob

0

В настройках сборки добавить этот элемент «Header Search Path»

$(OBJROOT)/UninstalledProducts/$(PLATFORM_NAME)/include 
Смежные вопросы