2013-04-04 81 views
1

我以前开发了一个带有phonegap 1.5.0的应用程序,现在我们只需将它推入git存储库。该应用程序是建立在成功的Xcode和我能够安装应用程序,并在iPad上运行,但是当我们试图从詹金斯建造它,我们得到这个错误Xcode,Git,Jenkins,PhoneGap 1.5.0构建错误

/Users/...../Classes/AppDelegate.m:28: 
/Users/......./Classes/AppDelegate.h:31:13: fatal error: 'Cordova/CDVViewController.h' file not found 
#import <Cordova/CDVViewController.h> 

我真的不知道为什么这发生。我没有将任何文件包含到导致此问题的gitt中吗?还是有任何额外的步骤,我需要采取代码到git?任何意见都深表谢意。

+0

@Amanda你能解决吗?如果是,请将答案张贴为答案。我面临同样的问题。 – Apurv 2013-07-04 10:41:03

+0

嗨Apurv ...对不起,最近的答复...我不能说我解决了它,但是,我如何让我的ios在詹金斯工作是通过将cordova库升级到2.2.0。那么它的工作:) – Amanda 2013-09-12 08:52:32

回答

0

你可以做的是尝试克隆git仓库到你的本地机器并从那里建立。如果没关系,这意味着你需要检查Jenkins设置/配置。

+0

我想我知道这是为什么发生。我的科尔多瓦图书馆没有放在项目文件夹中。你认为这是导致文件无法找到的原因吗?也许在将它放入物理文件后,它会解决问题?或者我需要在xcode中执行任何特殊配置以将文件放置到项目文件夹中? – Amanda 2013-04-05 02:58:51

+0

通常情况下,您只需从查找器拖入xcode即可将其包含到项目中。 – wmfairuz 2013-04-05 07:54:38

3

我的PhoneGap项目能够构建并生成.ipa。

这是我已经使用詹金斯我的CI整合完成:

  1. 詹金斯安装Xcode的集成插件(管理詹金斯 - >管理插件 - >可用 - > Xcode的集成)。

  2. 在您的作业配置中,单击添加生成步骤按钮并选择Xcode。

  3. 在Xcode配置中:

    3.1。构建前添加清理。

    3.2。添加项目的目标(例如:SamplePhonegap)。

    3.3。添加SDK(例如:iphoneos6.1)。

    3.4。添加配置为调试或发布。

    3.5。添加包含.xcodeproj的Xcode项目目录(例如:$ {WORKSPACE})。

    3.6。构建输出目录(例如:$ {WORKSPACE}/build)[PhoneGap App的必需步骤]。

    3.7。添加生成IPA。

    3.8。添加代码签名身份(例如:iPhone开发人员:S * ** * *(6 * *))。

    3.9。添加解锁KeyChain。

    3.10。添加keyChain路径(例如:$ {HOME} /Library/Keychains/login.keychain)。

    3.11。添加钥匙串密码。

最后构建您的应用程序 - 它将构建并生成.ipa文件。

注:

3。6步是强制性的,因为PhoneGap项目有两个构建路径:一个是我们的项目构建路径,另一个是cordova构建路径。詹金斯很难找到默认的路径(在本地不需要指定,因为它只有一个构建路径,詹金斯很容易找到)。所以必须提供Build输出目录路径。

+2

$ {WORKSPACE}/build是为我解决了这个问题! – Progger 2014-04-08 14:42:23

+0

如何使用如果我使用shell脚本进行构建过程使用xcodebuild和xcrun。 – Raghav 2014-10-15 13:38:45

0

这是迄今为止我找到的最佳解决方案。 Original Answer

的Xcode 6.x的

添加$(OBJROOT)/UninstalledProducts/include到BuildSettings->标题搜索路径

的Xcode 7.x的

添加$(OBJROOT)/UninstalledProducts/$(PLATFORM_NAME)/include到BuildSettings->标题搜索路径

1.双击即可添加。

2.改变$(OBJROOT)/ UninstalledProducts/include至$(OBJROOT)/UninstalledProducts/$(PLATFORM_NAME)/include