Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/121.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用于ios的cordova插件firebase_Ios_Firebase_Ionic3_Firebase Cloud Messaging - Fatal编程技术网

用于ios的cordova插件firebase

用于ios的cordova插件firebase,ios,firebase,ionic3,firebase-cloud-messaging,Ios,Firebase,Ionic3,Firebase Cloud Messaging,我对cordova plugin firebase有一些问题:“^2.0.5”,我使用android收到通知,但在ios中我有一些问题,控制台日志显示此错误: 一,- 收到令牌后,出现此错误: 3- 如果我测试发送un通知示例,返回响应为: {"multicast_id":6967427466880320868,"success":0,"failure":1,"canonical_ids":0,"results":[{"error":"NotRegistered"}]} 注: 我已经从appl

我对cordova plugin firebase有一些问题:“^2.0.5”,我使用android收到通知,但在ios中我有一些问题,控制台日志显示此错误:

一,-

收到令牌后,出现此错误:

3-

如果我测试发送un通知示例,返回响应为:

{"multicast_id":6967427466880320868,"success":0,"failure":1,"canonical_ids":0,"results":[{"error":"NotRegistered"}]}
注: 我已经从apple开发者控制台创建了证书和密钥,并将文件AuthKeyxxxxx.pm8导入firebase控制台

我的提供商:

import { HttpClient } from '@angular/common/http';
import { Injectable } from '@angular/core';
import { Platform } from 'ionic-angular';
import { Firebase } from '@ionic-native/firebase';
import { Storage } from '@ionic/storage';
import { environment } from '../../environments/environment';


@Injectable()
export class FcmProvider {
  token;

  constructor(public http: HttpClient,private storage: Storage, private platform: Platform, public firebase: Firebase) {
    console.log('Bonjour FcmProvider Provider');
  }

  initializeFirebase(){
    if(!this.platform.is("core")) {
      this.getToken();
      this.firebase.subscribe("all");
    }
  }


  getToken() {
    if (this.platform.is('ios')) {
      this.firebase.grantPermission()
      .then(() => {
        this.firebase.getToken().then(token => {
          console.log("My Token ", toen);
        });        
      })
      .catch((error) => {
        this.firebase.logError(error);
      });
    }else{
      this.firebase.getToken().then(token => {
        console.log("My Token ", toen);
      });
    }

  }

  onNotifications() {
    return this.firebase.onNotificationOpen().subscribe(
      (msg) => {
        if(msg.tap){
            console.log(msg);
        }else{
          if (this.platform.is('ios')) {
            console.log(msg.aps.alert);
          }else {
            this.presentToast(msg.body);
          }
        }        
    });
  }
}

更多信息=>爱奥尼亚信息

cli packages: (/usr/local/lib/node_modules)

    @ionic/cli-utils  : 1.19.3
    ionic (Ionic CLI) : 3.20.1

global packages:

    cordova (Cordova CLI) : 8.1.2 (cordova-lib@8.1.1) 

local packages:

    @ionic/app-scripts : 3.2.3
    Cordova Platforms  : android 7.1.4 ios 4.5.5
    Ionic Framework    : ionic-angular 3.9.2

System:

    ios-deploy : 1.9.4 
    Node       : v10.13.0
    npm        : 6.9.0 
    OS         : macOS High Sierra
    Xcode      : Xcode 10.1 Build version 10B61 

Environment Variables:

    ANDROID_HOME : not set

Misc:

    backend : pro

使用的包装:

"cordova-android-firebase-gradle-release": "^2.1.0",
"cordova-android-play-services-gradle-release": "^2.1.0",
"cordova-android-support-gradle-release": "^1.4.4",
"@ionic-native/firebase": "^4.20.0",
"cordova-plugin-firebase": "^2.0.5",
"firebase": "^4.8.0",

最后,我找到了一个解决办法, 我从文件->项目设置->构建系统更改了项目系统构建,并选择:遗留构建系统,默认值为new Legacy

import { HttpClient } from '@angular/common/http';
import { Injectable } from '@angular/core';
import { Platform } from 'ionic-angular';
import { Firebase } from '@ionic-native/firebase';
import { Storage } from '@ionic/storage';
import { environment } from '../../environments/environment';


@Injectable()
export class FcmProvider {
  token;

  constructor(public http: HttpClient,private storage: Storage, private platform: Platform, public firebase: Firebase) {
    console.log('Bonjour FcmProvider Provider');
  }

  initializeFirebase(){
    if(!this.platform.is("core")) {
      this.getToken();
      this.firebase.subscribe("all");
    }
  }


  getToken() {
    if (this.platform.is('ios')) {
      this.firebase.grantPermission()
      .then(() => {
        this.firebase.getToken().then(token => {
          console.log("My Token ", toen);
        });        
      })
      .catch((error) => {
        this.firebase.logError(error);
      });
    }else{
      this.firebase.getToken().then(token => {
        console.log("My Token ", toen);
      });
    }

  }

  onNotifications() {
    return this.firebase.onNotificationOpen().subscribe(
      (msg) => {
        if(msg.tap){
            console.log(msg);
        }else{
          if (this.platform.is('ios')) {
            console.log(msg.aps.alert);
          }else {
            this.presentToast(msg.body);
          }
        }        
    });
  }
}

cli packages: (/usr/local/lib/node_modules)

    @ionic/cli-utils  : 1.19.3
    ionic (Ionic CLI) : 3.20.1

global packages:

    cordova (Cordova CLI) : 8.1.2 (cordova-lib@8.1.1) 

local packages:

    @ionic/app-scripts : 3.2.3
    Cordova Platforms  : android 7.1.4 ios 4.5.5
    Ionic Framework    : ionic-angular 3.9.2

System:

    ios-deploy : 1.9.4 
    Node       : v10.13.0
    npm        : 6.9.0 
    OS         : macOS High Sierra
    Xcode      : Xcode 10.1 Build version 10B61 

Environment Variables:

    ANDROID_HOME : not set

Misc:

    backend : pro

"cordova-android-firebase-gradle-release": "^2.1.0",
"cordova-android-play-services-gradle-release": "^2.1.0",
"cordova-android-support-gradle-release": "^1.4.4",
"@ionic-native/firebase": "^4.20.0",
"cordova-plugin-firebase": "^2.0.5",
"firebase": "^4.8.0",