升级到 Cordova 4.0.0 使 iOS 构建失败,代码为 65

Posted

技术标签:

【中文标题】升级到 Cordova 4.0.0 使 iOS 构建失败,代码为 65【英文标题】:Upgrade to Cordova 4.0.0 make iOS build fail with code 65 【发布时间】:2014-10-26 10:19:40 【问题描述】:

为了全面升级我的 Codova 安装,我这样做了:

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

升级的科尔多瓦

sudo npm update -g 科尔多瓦

升级的 iosandroid

cordova 平台更新 ios 科尔多瓦平台更新android

然后,我开始了新的构建

cordova 构建

很遗憾,iOS 构建没有失败:

以下构建命令失败:

 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'

【问题讨论】:

对我来说。再次删除并重新添加 ios 平台,然后再次构建工作,我不知道为什么,但平台有点被更新搞砸了。 【参考方案1】:

出于安全考虑,我重命名了相关的Cordova平台文件夹

<CordovaProject>/platforms/ios

<CordovaProject>/platforms/ios_pre_4-0-0

然后,我生成了 iOS 平台

cordova platform add ios

现在,项目再次编译正常。

【讨论】:

【参考方案2】:

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

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

【讨论】:

我这样做了,但问题仍然存在。【参考方案3】:

我建立了一个新的 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" /> -->

【讨论】:

以上是关于升级到 Cordova 4.0.0 使 iOS 构建失败,代码为 65的主要内容,如果未能解决你的问题,请参考以下文章

Cordova 错误:您的 ios 平台没有 Api.js

添加cordova平台ios时出错

来自 iOS 4.0.0 中 Native 的 Cordova 插件 Javascript 函数调用

android和ios的cordova构建都失败了

iOS:从 cordova 2.2.0 升级到 2.3.0 时面临问题

将 cordova 1.9.0 (iOS) 升级到 cordova 2.1.0 并更新现有项目以使用 2.1.0