Português:Olápessoal,estou com um problema quando vou buildar meu app no Package native do Ionic,mostra esse erro。 Alguémtemalgumasolução?
英语: 大家好,我在Ionic的原生包中构建我的应用程序时遇到问题,它显示了这个错误。 有没有人有解决方案?
Failed to install 'onesignal-cordova-plugin': Error: pod: Command failed with exit code 31
at ChildProcess.whenDone (/Users/ionic/builds/project-1/platforms/ios/cordova/node_modules/cordova-common/src/superspawn.js:169:23)
at emitTwo (events.js:126:13)
at ChildProcess.emit (events.js:214:7)
at maybeClose (internal/child_process.js:925:16)
at Process.ChildProcess._handle.onexit (internal/child_process.js:209:5)
Failed to restore plugin "onesignal-cordova-plugin" from config.xml. You might need to try adding it again. Error: Error: pod: Command failed with exit code 31
答案 0 :(得分:1)
我遇到了同样的问题并通过将onesignal-cordova-plugin
的版本降级为 2.1.0 来修复它:
ionic cordova plugin remove onesignal-cordova-plugin
ionic cordova plugin add onesignal-cordova-plugin@2.1.0
在2.1.1中他们添加了可可豆荚支持,所以2.1.0就在添加之前就应该工作了:)(至少它在我的情况下有效)
我认为离子云中的可可豆荚存在问题,因为我在本地构建时遇到了同样的问题(在更新pod后得到修复)。这种解决方法在修复之前很有用。
答案 1 :(得分:1)
我发现有关此问题的有用的官方帖子。这些技巧就像一个魅力:)。没有错误,并且构建成功。
在发布OneSignal插件的更新时,通常需要更新cocoapods规范存储库。这可以通过简单的cordova hook脚本来完成。在项目仓库的根目录中创建以下脚本。确保使用chmod或git设置两个脚本的执行权限。
update_pods.sh
#!/bin/bash
pod repo update
run_pods.sh
#!/bin/bash
pod install --project-directory='./platforms/ios/'
参考config.xml的ios平台元素中的脚本
<platform name="ios">
<hook src="update_pods.sh" type="before_platform_add" />
<hook src="run_pods.sh" type="after_platform_add" />
...
这些命令将在添加ios平台之前和之后运行。第一个更新Pod存储库,第二个验证添加平台后是否安装了所有Pod。
记住要为这些bash文件添加执行权限。如果您看到错误:生成EACCES消息,则其完全与权限有关。
查看此帖子的详细信息: https://ionic.zendesk.com/hc/en-us/articles/360001581893-iOS-build-fails-to-fetch-onesignal-cordova-plugin