我使用以下命令
创建了一个新的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)
我用google搜索的结果主要是关于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
编辑: 从app store重新安装xcode解决了问题
答案 0 :(得分:6)
我在Android平台上遇到了同样的问题,并且使用以下命令解决了这个问题:
cordova platform rm android
cordova platform add android
cordova build android
在Node.Js控制台中。在ios中尝试。
如果你的'cordova platform add android'出错,你可能需要手动删除项目文件夹层次结构中的所有android文件夹。
答案 1 :(得分:6)
这解决了我的问题:
cordova platform remove ios
cordova platform add ios
cordova build ios
答案 2 :(得分:4)
如果使用--verbose运行构建,您可能会看到一些权限问题。默认情况下,如果您没有更改,XCode会在〜/ Developer中创建一个构建文件夹。创建该文件夹时可能存在权限问题。只需执行以下命令:sudo cordova bulid ios 这应该可以解决你的问题。