7

因此,当我尝试从 xcode 终端构建我的代码时,它失败并给我一个错误,即找不到“Cordova/CDVViewController.h”文件,但是当我从 xcode 构建它时,它构建得很好。

在我的 Xcode 中,我已经完成了整个 Cordova 子目录的东西Upgrade Cordova。当我运行列表时也是如此。这就是我在下面看到的:

xcodebuild -列表

关于项目“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 运行它。我认为这是一个詹金斯问题,但后来我把它归结为没有看到 CordovaLib 的 xcode 终端。

4

3 回答 3

17

我花了太多时间来解决这个问题,所以很遗憾不分享。出现此问题的原因可能有很多,但如果您觉得您已经在 CordovaLib 中正确设置了所有内容(就像我一样!)并且仍然遇到同样的问题。这可能是原因之一。发生的事情是当我运行

 xcodebuild  -scheme myProject -configuration "Release"

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

现在,转到 Jenkins,您是否需要在 XCode 插件的高级 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”命令,您将看到刚刚共享的方案。

希望这可以帮助!

于 2013-11-01T22:02:09.920 回答
5

非常感谢 !只需添加“-scheme”和“-configuration”参数就可以解决我的问题。

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

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

我用它来生成一个 ios 模拟器版本,以便将 Phonegap / Cordova 应用程序提交给Facebook 评论

于 2014-06-18T08:42:18.420 回答
0

在构建设置中将此项目添加到“标题搜索路径”

$(OBJROOT)/UninstalledProducts/$(PLATFORM_NAME)/include
于 2016-08-15T03:24:11.043 回答