Phonegap本地构建失败,媒体插件出现问题。

8
  1. 创建新项目
  2. iOS构建: 成功
  3. 添加媒体插件
  4. iOS构建: 失败

以下构建命令失败: CompileC build/HelloWorld.build/Debug-iphonesimulator/HelloWorld.build/Objects-normal/i386/CDVSound.o HelloWorld/Plugins/org.apache.cordova.media/CDVSound.m normal i386 objective-c com.apple.compilers.llvm.clang.1_0.compiler (1 failure) [error] /Projects/Code/hello/platforms/ios/cordova/build: 命令以65的退出码失败

这是命令列表

phonegap create hello
cd hello
phonegap build ios   # WORKS
phonegap local plugin add https://git-wip-us.apache.org/repos/asf/cordova-plugin-media.git
phonegap build ios   # FAILS

如果我使用sudo,cordova也会发生相同的情况。


你在做Android的时候有这个问题吗?我尝试了Android和Cordova 3.4.0-0.1.3,没有任何问题。奇怪的是iOS版本的媒体插件需要文件插件,但Android版本不需要。另外,你可以使用cordova plugin add org.apache.cordova.media而不是每次输入git url。你可以通过输入“cordova plugin search media”来查找这些名称。(如果你使用pg,请将“cordova”替换为“phonegap”。) - MBillau
5个回答

17

我通过完全删除platforms下的iOS文件夹,然后重新运行phonegap build ios解决了这个问题。


2
同样的事在我这里也起作用了...虽然很奇怪!!感谢上帝有 Stack Overflow!如果没有它,我们会在哪里呢? - Som

3

这是我之前遇到的一个问题。如果你不是iOS开发人员,但需要构建iOS应用程序,可能会遇到这个问题。这个特定的退出代码很有趣,因为xcodebuild不会告诉你问题出在哪里。

除了使用Xcode IDE构建应用程序之外,您还可以使用命令行实用程序xcodebuild。假设代码本身编译得非常好,此工具将告诉您例如,如果您缺少配置文件,则会提示您。

在我的情况下,事实证明xcodebuild无法访问我正在使用的证书。 那么...这里有一些要检查的内容:

  • 确保您已在Keychain中安装了最新的证书
  • 删除过期证书
  • 授予xcode使用您的证书的访问权限(或允许所有程序使用该证书)
  • 确保您已安装最新的配置文件
  • 删除过期的配置文件

另一个选项....

使用https://build.phonegap.com,它可以为您构建应用程序并生成.ipa和.apk文件。免费提供1个项目(如果有多个项目,请删除您的项目,然后重新上传)。只需创建一个帐户,上传您的证书,然后上传您的www文件夹即可。
如果您觉得这对您有帮助,请点赞!

当没有媒体插件时,该项目构建得很好。 - Ska
你使用的是哪个版本的PhoneGap?你可能需要使用Cordova。 - MGot90
PhoneGap 3.4.0-0.19.7,Cordova 3.4.0-0.1.3。无论使用sudo还是不使用sudo都会出现此问题。我正在使用仅Cordova创建一个项目,但更想知道为什么带有媒体的PhoneGap失败了。 - Ska
2
他们从PhoneGap转向Cordova的过程实在是太糟糕了,真的很糟糕!这只是我的个人意见。以下是他们关于升级到3.0+版本的博客文章:http://phonegap.com/blog/2013/10/17/phonegap-310-release/安装Cordova CLI可能会解决你的问题。 - MGot90
好的,我可以确认它在纯 Cordova 中也失败了。 - Ska

3

我在PhoneGap谷歌小组上找到了解决方案。

解决方案是添加文件插件。奇怪的是这些依赖关系没有被提及,但它起作用了。我想我们需要随机尝试插件的组合,直到有用的东西出现。

错误已记录在此处:https://issues.apache.org/jira/browse/CB-6225

看起来你需要先添加文件插件,然后添加媒体插件,顺序很重要。


1

在向您的项目添加Cordova插件时,请尝试使用sudo命令。

sudo cordova plugin add https://github.com/apache/cordova-plugin-media

0

在添加对话框插件后,我遇到了退出代码65的问题。尝试了这里的一些顶级答案,但最终James的建议起作用了:删除iOS平台,重新安装平台,然后构建。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接