在 Windows 上安装离子推送插件(适用于 iOS)时出错

Posted

技术标签:

【中文标题】在 Windows 上安装离子推送插件(适用于 iOS)时出错【英文标题】:Error installing ionic push plugin (for iOS) on windows 【发布时间】:2017-08-23 23:54:11 【问题描述】:

我正在 Ionic 中为 iosandroid 开发一个应用程序,并将这两个平台添加到项目中。 添加推送插件时,我得到以下信息。它适用于 android,但不适用于 iOS

ionic cordova plugin add phonegap-plugin-push --save
> cordova plugin add phonegap-plugin-push --save
× Running command - failed!
[ERROR] Cordova encountered an error.
    You may get more insight by running the Cordova command above directly.

[ERROR] An error occurred while running cordova plugin add phonegap-plugin-push --save (exit code 1):

    Installing "phonegap-plugin-push" for android
    Subproject Path: CordovaLib
    Installing "phonegap-plugin-push" for ios
    Failed to install 'phonegap-plugin-push': undefined
    Error: WARNING: CocoaPods requires your terminal to be using UTF-8 encoding.
    Consider adding the following to ~/.profile:

    export LANG=en_US.UTF-8

    C:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/claide-1.0.2/lib/claide/command.rb:439:in `help!': [!] You cannot run
    CocoaPods as root. (CLAide::Help)

这是离子信息

PS D:\scripturi\Ionic\dangle> ionic info 
@ionic/cli-plugin-cordova       : 1.6.2
@ionic/cli-plugin-ionic-angular : 1.4.1
@ionic/cli-utils                : 1.7.0
ionic (Ionic CLI)               : 3.7.0

global packages:

Cordova CLI : 7.0.1

local packages:

@ionic/app-scripts : 2.1.3
Cordova Platforms  : android 6.2.3 ios 4.4.0
Ionic Framework    : ionic-angular 3.6.0

System:

Node : v7.2.1
OS   : Windows 10
npm  : 3.10.10

尝试删除平台并重新添加它们。 有什么建议可以解决这个问题吗?

【问题讨论】:

可以在windows上为mac开发吗? 理论上是的,https://ionicframework.com/docs/developer-resources/platform-setup/windows-setup.html “iOS SDK 不能在 Windows 上运行,所以这里无事可做。但仍然想为 iOS 构建吗?请查看 Package,Ionic Cloud 的一部分。 " 【参考方案1】:

该插件的 iOS 版本需要安装 CocoaPod (Firebase)。 CocoaPods 用于管理 ObjC 和 Swift 依赖项,并且仅在 OSX 环境中可用,因此在 windows 上插件安装失败是很正常的。

我建议您在 Windows 机器上开发时删除 iOS 平台。

【讨论】:

以上是关于在 Windows 上安装离子推送插件(适用于 iOS)时出错的主要内容,如果未能解决你的问题,请参考以下文章

电容iOS同步失败,离子

离子推送通知自定义声音无法在 Android Oreo 及更高版本上播放

如何使用一个信号向离子和电容器推送通知添加自定义声音

离子1信号有一种方法可以知道从背景到前景打开应用程序或启动应用程序时是否有推送通知

在适用于 Linux 的 Windows 子系统上安装 Apache

适用于 Windows 商店 8.1 的 Windows Azure node.js 推送通知 - 如何使用“createRawTemplateRegistration”模板?