我无法在本地为 iOS 编译我的应用程序,Android 运行正常。
我已经使用 npm install -g [...]
安装了 cordova
和 phonegap
。我正在运行 OSX (10.7.5)。
两者的版本输出:
$ cordova -v
5.1.1
$ phonegap -v
0.9.4
我安装了 XCode (v 4.6.2)。我还安装了命令行工具。
cordova 和 phonegap 工具都无法构建,原因似乎相同。运行 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)
在我看来,应该有一些替代品在未发生的路径中运行在 __CLI__
上,但这很难说。下面是生成的文件结构的屏幕截图:
我能够使用远程构建服务进行构建,但它非常费力,因为应用程序未正确加载,所以我需要进行大量调试才能解决这个问题。
Node 的安装版本为 0.12.5。 NPM 安装在 2.11.2 版本。
我已经重装了无数次平台,但总是出现这个错误。
最佳答案
这个问题有点老了,但我会抛出一些东西:
- 我有一个正在运行的 ios 平台的命令行构建 -- 它没有
__CLI__...
子目录。只是一个数据点。 - 我想知道 Xcode 与其构建路径相关的设置方式是否有什么奇怪之处。请参阅此答案以确保输出目录设置正确:still getting <Cordova/CDVViewController.h> file not found error in xcode .我在 Xcode 中设置了桌面和移动应用程序,我必须记得来回切换此设置。
- PhoneGap/Cordova 已逐步淘汰旧版本的 ios,推出新版本。如果 cordova 5.1.1 不支持 Xcode 4.6.2,我不会感到惊讶。您可能想尝试使用旧版本的 cordova 库。
关于ios - 无法在本地编译 Phonegap 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31243153/