我已经使用Cordova CLI 3.5.0版创建了一个项目。
我已经使用CLI成功部署了Android平台项目。
cordova run android
但是,我有问题为iOS部署项目。
cordova run ios
我遇到了这个错误:
mv:dest文件已存在:/Users/amirfazwan/Documents/workspace/MyPKS/platforms/ios/MYPKS/MyPKS-Info.plist
mv:dest文件已存在:/Users/amirfazwan/Documents/workspace/MyPKS/platforms/ios/MYPKS/MyPKS-Prefix.pch
shell.js:内部错误
错误:EINVAL,无效参数'/Users/amirfazwan/Documents/workspace/MyPKS/platforms/ios/MYPKS.xcodeproj'
在Object.fs.renameSync(fs.js:543:18)
at /usr/local/lib/node_modules/cordova/node_modules/cordova-lib/node_modules/shelljs/shell.js:495:8
在Array.forEach(native)
在Object._mv(/usr/local/lib/node_modules/cordova/node_modules/cordova-lib/node_modules/shelljs/shell.js:471:11)
在Object.mv(/usr/local/lib/node_modules/cordova/node_modules/cordova-lib/node_modules/shelljs/shell.js:1491:23)
在pbxProject。(/usr/local/lib/node_modules/cordova/node_modules/cordova-lib/src/cordova/metadata/ios_parser.js:126:27)
在pbxProject.EventEmitter.emit(events.js:98:17)
在pbxProject。(/usr/local/lib/node_modules/cordova/node_modules/cordova-lib/node_modules/xcode/lib/pbxProject.js:30:18)
在ChildProcess.EventEmitter.emit(events.js:98:17)
在handleMessage(child_process.js:322:10)
只有在我手动访问Xcode项目以添加图标和闪屏后,才会出现此问题,因为即使在config.xml中声明了图标和闪屏也不会自动添加到项目中。
我试图删除Info.plist&Prefix.pch文件,但出现此错误。
错误:ENOENT,没有这样的文件或目录'/Users/amirfazwan/Documents/workspace/MyPKS/platforms/ios/MYPKS/MYPKS-Info.plist'
在Object.fs.openSync(fs.js:427:18)
在Object.fs.readFileSync(fs.js:284:15)
在Object.exports.parseFileSync(/usr/local/lib/node_modules/cordova/node_modules/cordova-lib/node_modules/plist-with-patches/lib/plist.js:18:19)
在Object.module.exports.update_from_config(/usr/local/lib/node_modules/cordova/node_modules/cordova-lib/src/cordova/metadata/ios_parser.js:66:31)
在Object.module.exports.update_project(/usr/local/lib/node_modules/cordova/node_modules/cordova-lib/src/cordova/metadata/ios_parser.js:189:21)
at /usr/local/lib/node_modules/cordova/node_modules/cordova-lib/src/cordova/prepare.js:113:31
在_fulfilled(/usr/local/lib/node_modules/cordova/node_modules/q/q.js:798:54)
self.promiseDispatch.done(/usr/local/lib/node_modules/cordova/node_modules/q/q.js:827:30)
在Promise.promise.promiseDispatch(/usr/local/lib/node_modules/cordova/node_modules/q/q.js:760:13)
如果从Xcode启动,该项目工作得很好,但我不再可以从CLI构建项目或从CLI启动“serve”命令以进行调试。
请指导我,谢谢。
解决了
通过使用Xcode重命名项目名称解决。谢谢杰森的提示。
发布于 2018-04-09 12:25:14
我发生的事情是将项目名称重命名为首都。这对科尔多瓦造成各种混乱。
我做的第一件事是重新命名有问题的plist和pch文件以匹配正确的大写字母。所以,就你的情况而言,如果它是myPKS,但现在是MyPKS,则需要将这些文件重命名为MyPKS-Info.plist和MyPKS-Prefix.pch。
然后我必须重命名.xcodproj以匹配大小写。
之后,又发生了另一个问题:xcodebuild:error:项目'NewName.xcodeproj'不包含名为'NewName'的目标。
为了解决这个问题,我必须将目标重命名为具有适当的大写字母。由于我是iOS开发新手,我不知道如何描述如何到达那里。我终于绊倒了它,做了改变,并且它工作了!
发布于 2018-04-09 12:47:02
只需删除平台,然后再添加它们。
cordova platform rm ios
cordova platform rm android
cordova platform add ios
cordova platform add android
https://stackoverflow.com/questions/-100008011
复制相似问题