因此,当我尝试从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终端。
答案 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