无法在本地编译Phonegap应用程序

我不能在iOS本地编译我的应用程序,Android工作正常。

我已经使用npm install -g [...]安装了cordovaphonegap 。 我正在运行OSX(10.7.5)。

来自两者的版本输出:

 $ cordova -v 5.1.1 $ phonegap -v 0.9.4 

我安装了XCode(v 4.6.2)。 我也有安装的命令行工具。

cordova和phonegap工具都无法build立,看起来是出于同样的原因。 运行phonegap build ios输出:

 $ phonegap build ios phonegap detecting iOS SDK environment... phonegap using the local environment phonegap compiling iOS... error ENOENT, no such file or directory '/Users/mike/apps/***/platforms/ios/__CLI__/config.xml' 

以下是来自同一个cordova命令的输出:

 $ cordova build ios cp: copyFileSync: could not write to dest file (code=ENOENT):/Users/mike/apps/***/platforms/ios/__CLI__/config.xml cp: no such file or directory: /Users/mike/apps/***/platforms/ios/platform_www/* Parsing /Users/mike/apps/***/platforms/ios/__CLI__/config.xml failed Error: ENOENT, no such file or directory '/Users/mike/apps/***/platforms/ios/__CLI__/config.xml' at Error (native) at Object.fs.openSync (fs.js:500:18) at Object.fs.readFileSync (fs.js:352:15) at Object.module.exports.parseElementtreeSync (/usr/local/lib/node_modules/cordova/node_modules/cordova-lib/src/util/xml-helpers.js:118:27) at Object.ConfigParser (/usr/local/lib/node_modules/cordova/node_modules/cordova-lib/src/configparser/ConfigParser.js:33:24) at /usr/local/lib/node_modules/cordova/node_modules/cordova-lib/src/cordova/prepare.js:115:32 at Array.map (native) at /usr/local/lib/node_modules/cordova/node_modules/cordova-lib/src/cordova/prepare.js:70:40 at _fulfilled (/usr/local/lib/node_modules/cordova/node_modules/q/q.js:787:54) at self.promiseDispatch.done (/usr/local/lib/node_modules/cordova/node_modules/q/q.js:816:30) 

在我看来,在path上__CLI__上应该有一些replace运行,但是很难说清楚。 以下是生成的文件结构的屏幕截图:

FileStructure

我能够使用远程构build服务来构build,但是这非常麻烦,因为应用程序没有正确加载,所以我需要进行相当多的debugging来排除这个问题。

节点安装在版本0.12.5。 NPM安装在版本2.11.2。

我已经无数次地重新安装了这个平台,而且总是得到这个错误。

这个问题有点老了,但我会在这里抛出一些东西:

  1. 我有一个运行我的ios平台的命令行版本 – 它没有__CLI__...子目录。 只是一个数据点。
  2. 我想知道是否没有什么奇怪的方式Xco​​de设置相对于其构buildpath。 看到这个答案,以确保输出目录设置正确: 仍然得到<Cord​​ova / CDVViewController.h>文件在Xcode中找不到错误 。 我有一个桌面和移动应用程序设置在Xcode中,我必须记得来回切换此设置。
  3. PhoneGap / Cordova已经逐步淘汰了较新版本的ios。 如果cordova 5.1.1不支持Xcode 4.6.2,我不会感到惊讶。 您可能想尝试使用旧版本的cordova库。