升级到Cordova 4.0.0使得iOS编译失败,代码为65

要一般升级我的Codova安装,我做到了这一点:

  • 将NPM / node.js升级到最新版本
  • 升级cordova

    sudo npm更新-g cordova

  • 升级iOS和Android

    cordova平台更新ioscordova平台更新android

  • 然后,我开始了一个新的构build

cordovabuild立

不幸的是,没有iOS构build失败:

以下生成命令失败:

CompileC build/XXX.build/Debug-iphonesimulator/XXX.build/Objects-normal/i386/ MainViewController.o XXX/Classes/MainViewController.m normal i386 objective-c com.apple.compilers.llvm.clang.1_0.compiler (1 failure) Error: /Users/sp21/Documents/projects/workshop/platforms/ios/cordova/build: Command failed with exit code 65 at ChildProcess.whenDone (/usr/local/lib/node_modules/cordova/node_modules/cordova-lib/src/cordova/superspawn.js:135:23) at ChildProcess.emit (events.js:98:17) at maybeClose (child_process.js:756:16) at Process.ChildProcess._handle.onexit (child_process.js:823:5) 

我可能应该删除并重新生成整个项目。

但在此之前,我会对更好的解决方法感兴趣。

更新2014-10-28

现在,我得到一个has been modified since the precompiled header信息:

 fatal error: file '/Users/USER/Documents/projects/workshop/platforms/ ...ios/PROJECT/PROJECT-Prefix.pch' has been modified since the precompiled header '/var/folders/pq/vqgwwh5h8xl0qx008k8xrc100000gp/C/com.apple.DeveloperTools/ ...6.1-6A1052d/Xcode/SharedPrecompiledHeaders/PROJECT-Prefix- ...cdipadqrfuqsrbermtsnitfghaea/PROJECT-Prefix.pch.pch' was built note: please rebuild precompiled header '/var/folders/pq/vqgwwh5h8xl0qx008k8xrc100000gp/C/com.apple.DeveloperTools/ ...6.1-6A1052d/Xcode/SharedPrecompiledHeaders/ ...PROJECT-Prefix-cdipadqrfuqsrbermtsnitfghaea/PROJECT-Prefix.pch.pch' 

为了安全起见,我将相关的Cordova平台文件夹重命名为

 <CordovaProject>/platforms/ios 

 <CordovaProject>/platforms/ios_pre_4-0-0 

然后,我生成了iOS平台

 cordova platform add ios 

现在,项目再次编译好了。

根据我的经验,不需要为iOS重新添加平台或重新生成整个项目。

您也可以将刚刚添加的Cordova 4.0.0 iOS平台/项目的内容replace为/platforms/ios/(PROJECT NAME)/Classes文件夹的内容。

我build立了一个新的cordova项目,以找出在cordova-ios v 4.0.0上触发cordova“BUILD FAILED”错误的原因。

当我在iOS @ 4中添加Cordova Camera插件时发现它。

 cordova plugin rm cordova-plugin-camera cordova build ios 

另外请记住在' config.xml '上禁用它,否则它会自动重新安装:

 <!-- <plugin name="cordova-plugin-camera" spec="~1.2.0" /> -->