在Xcode终端中运行时找不到'Cordova / CDVViewController.h'文件

时间:2013-11-01 14:24:53

标签: xcode cordova jenkins terminal xcode5

因此,当我尝试从xcode终端构建我的代码时,它失败并且给我一个错误的'Cordova / CDVViewController.h'文件找不到,但是当我从xcode构建它时,它正在构建就好了。 / p>

在我的Xcode中,我完成了整个Cordova子目录事务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

我有什么遗漏的吗?之所以我这样做是因为我试图通过jenkins来运行它。我认为这是一个jenkins问题,但后来我把它归结为没有看到CordovaLib的xcode终端。

2 个答案:

答案 0 :(得分:17)

我花了太多时间找出解决方案,所以不分享是一种耻辱。可能有很多可能的原因导致出现这个问题,但是如果你觉得你已经在CordovaLib中设置了所有东西(就像我一样!)并且仍然存在同样的问题。这可能是原因之一。发生的事情是我跑

的时候
 xcodebuild  -scheme myProject -configuration "Release"

它正在成功构建,但如果你不提供“-scheme”它默认会失败,它正在使用“Release”。该方案的参数将控制构建哪些目标以及如何构建它们,myProject方案包含子文件夹和对Cordovalib的引用。

现在,转移到Jenkins,您需要在XCode插件的Advanced Xcode构建选项部分的“Xcode Schema File”文本框中提供该方案。

我的设置是Xcode作为我的奴隶,但这仍然适用于你拥有的Xcode和Jenkins组合 - 所以当我运行

 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”命令,您将看到刚刚共享的方案。

希望这有帮助!

答案 1 :(得分:5)

非常感谢! 只需添加" -scheme"和" -configuration"参数为我解决了问题。

如果它可以帮助其他人,这里是我使用的完整命令行:

  

xcodebuild -scheme MyProject -configuration" Release" -arch i386 -sdk iphonesimulator7.1

我用它来生成ios模拟器版本,以便将Phonegap / Cordova应用程序提交到Facebook Review