【发布时间】:2014-01-13 16:47:04
【问题描述】:
我使用以下命令创建了一个新的 hello world 项目,
cordova create hello com.example.hello HelloWorld
项目创建成功,然后我添加ios平台
cordova platform add ios
为了验证我是否正确添加了它,我输入
cordova platform list
iOS 平台显示在列表中。所以此时,根据PhoneGap教程,我可以使用命令
cordova build ios
构建项目的 iOS 版本。但是,我遇到以下错误:
Generating config.xml from defaults for platform "ios"
Preparing ios project
Compiling app on platform "ios" via command "/Users/Aldour/PhoneGap/hello/platforms/ios/cordova/build"
/usr/local/lib/node_modules/cordova/node_modules/q/q.js:126
throw e;
^
Error: An error occurred while building the ios project.
at ChildProcess.<anonymous> (/usr/local/lib/node_modules/cordova/src/compile.js:65:22)
at ChildProcess.EventEmitter.emit (events.js:98:17)
at maybeClose (child_process.js:735:16)
at Socket.<anonymous> (child_process.js:948:11)
at Socket.EventEmitter.emit (events.js:95:17)
at Pipe.close (net.js:466:12)
我用谷歌搜索的结果主要是关于 android 版本,谈论无效的环境路径设置。我不知道它是否相关,因为我可以毫无问题地创建和构建针对 android 平台的 PhoneGap 项目。
这是我的 $PATH:
/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/bin/node:/usr/local/bin/npm:/Developer/SDKs/android-sdk-macosx/platform-tools:/Developer/SDKs/android-sdk-macosx/tools
编辑: 通过从应用商店重新安装 xcode 解决了问题
【问题讨论】:
-
每当我看到 Cordova 出现此错误时,通常是因为我使用的 Cordova 版本与正在使用的本机 SDK 版本不兼容。我不能代表 iOS,但我肯定在 Android 和 BlackBerry10 之前都看到过这个错误。某些 Cordova 构建引入了对平台 API 的支持。如果您使用的是新版本的一个而没有另一个,那么它可能会导致像上面这样的编译错误。
-
@AdamStanley 感谢您的回复。那么如果我愿意,如何恢复到旧版本的科尔多瓦呢?我用“sudo npm install -g cordova”安装了它
-
我总是删除现有节点(npm uninstall -g cordova),然后重新安装。要安装特定版本的 NPM 模块,您可以执行“npm install
@ ”。更多:npmjs.org/doc/install.html -
@AdamStanley 太棒了!感谢您的信息
标签: ios cordova cordova-cli