使用2.0,PhoneGap决定使用命令行来创建新项目(iOS)。说明似乎很简单,但我无法获得任何脚本来执行。也许这是我的笔记本电脑设置。我完全按照此链接(http://docs.phonegap.com/en/2.1.0/guide_getting-started_ios_index.md.html#Getting%20Started%20with%20iOS)中的说明进行操作,直到确切的参数由样本:
./create ~/Desktop/HelloWorld org.apache.HelloWorld HelloWorld then press "Enter"
结果:权限被拒绝
所以我想如果我以root身份运行它就可以工作了,所以我尝试了这个:
sudo ./create ~/Desktop/HelloWorld org.apache.HelloWorld HelloWorld then press "Enter"
结果:系统提示我输入密码,输入后输入命令
正如我所说,这些指示很简单,因为我没有发现任何其他人有这个错误,所以我必须把它归结为一个菜鸟。请帮忙。
答案 0 :(得分:3)
如果其他人遇到此问题,我找到了解决方案。我需要确保这些脚本是可执行的。我认为这是命令未找到错误的原因。为此,从我执行的终端
chmod 755 create
然后我发现我需要使用创建脚本引用的任何脚本来执行此操作。
chmod 755 replaces
chmod 755 update_cordova_subproject
然后我发现生成的项目由root拥有,所以我下载了一个名为BatChmod的实用程序,它允许我更改项目目录的所有者及其中的所有内容。良好的效用,你可以在这里得到它:http://www.macupdate.com/app/mac/6440/batchmod
一旦我这样做,我就能够构建并部署到模拟器。我仍然无法部署到我的设备,因为我需要实现此修复程序以有条件地添加基于iOS版本的体系结构。它试图在设备上使用i386。请参阅:https://issues.apache.org/jira/browse/CB-1360
答案 1 :(得分:0)
我有同样的问题,但另一个原因和另一个解决方案。 也许这有助于某人(之前,我也为所有js文件做了chmod 755)。
启动create命令时,create.js以“permission denied”停止。 我注销了create.js执行的命令,找出哪个命令锁定进程:
function exec(command) {
Log("command=" + command);
...
}
事实证明是命令
"jar -cfe ..\\appinfo.jar ApplicationInfo ApplicationInfo.class"
锁定进程(在createAppInfoJar()方法中)。
我无法从控制台运行任何jar命令,但java命令有效。 所以我用
替换了上面的语句"java jar -cfe ..\\appinfo.jar ApplicationInfo ApplicationInfo.class"
并且创建过程成功完成。