首页 > 解决方案 > cordova-plugin-local-notification 触发器在 IOS 中不起作用

问题描述

我在 ionic 5 中发现了 cordova-plugin-local-notification 的问题。 https://ionicframework.com/docs/native/local-notifications

我想在 ionic ios 中使用多个通知

  import { LocalNotifications } from '@ionic-native/local-notifications/ngx';

  ...

  constructor(private localNotifications: LocalNotifications) { }

  sendNoti() {
    let scheduleList = [];
    const currentDate = moment().add(1, 'minutes');
    const currentDate2 = moment().add(2, 'minutes');
    scheduleList.push({
      id: 1,
      text: 'alert',
      foreground: true,
      vibrate: true,
      led: { color: '#FF00FF', on: 500, off: 500 },
    });
    scheduleList.push({
      id: 2,
      text: 'noti 1 min',
      foreground: true,
      vibrate: true,
      trigger: { at: new Date(currentDate.toDate()) },
      led: { color: '#FF00FF', on: 500, off: 500 },
    });
    scheduleList.push({
      id: 3,
      text: 'noti 2 min',
      foreground: true,
      vibrate: true,
      trigger: { at: new Date(currentDate2.toDate()) },
      led: { color: '#FF00FF', on: 500, off: 500 },
    });

    this.localNotifications.requestPermission().then((permission) => {
      this.localNotifications.schedule(scheduleList);
    });
  }

但我收到本地通知 id 1,我没有收到本地通知 id 2 和 id 3。我在输出 xcode 中发现错误

2021-02-13 16:35:15.446376+0700 MyApp[231:3780] 4
2021-02-13 16:35:15.495124+0700 MyApp[231:4162] [local-notification] Next trigger at: (null)
2021-02-13 16:35:15.525587+0700 MyApp[231:4162] [local-notification] Next trigger at: (null)

我的 package.json

{
  "name": "moblie_local_notification",
  "version": "0.0.1",
  "author": "Ionic Framework",
  "homepage": "https://ionicframework.com/",
  "scripts": {
    "ng": "ng",
    "start": "ng serve",
    "build": "ng build",
    "test": "ng test",
    "lint": "ng lint",
    "e2e": "ng e2e"
  },
  "private": true,
  "dependencies": {
    "@angular/common": "~10.0.0",
    "@angular/core": "~10.0.0",
    "@angular/forms": "~10.0.0",
    "@angular/platform-browser": "~10.0.0",
    "@angular/platform-browser-dynamic": "~10.0.0",
    "@angular/router": "~10.0.0",
    "@ionic-native/core": "^5.0.0",
    "@ionic-native/local-notifications": "^5.31.1",
    "@ionic-native/splash-screen": "^5.0.0",
    "@ionic-native/status-bar": "^5.0.0",
    "@ionic/angular": "^5.0.0",
    "cordova-ios": "^5.1.1",
    "cordova-plugin-badge": "^0.8.8",
    "cordova-plugin-device": "^2.0.2",
    "cordova-plugin-local-notification": "^0.9.0-beta.3",
    "firebase": "^7.21.0",
    "moment": "^2.29.1",
    "rxjs": "~6.5.5",
    "tslib": "^2.0.0",
    "zone.js": "~0.10.3"
  },
  "devDependencies": {
    "@angular-devkit/build-angular": "~0.1000.0",
    "@angular/cli": "~10.0.5",
    "@angular/compiler": "~10.0.0",
    "@angular/compiler-cli": "~10.0.0",
    "@angular/language-service": "~10.0.0",
    "@ionic/angular-toolkit": "^2.3.0",
    "@types/jasmine": "~3.5.0",
    "@types/jasminewd2": "~2.0.3",
    "@types/node": "^12.11.1",
    "codelyzer": "^6.0.0",
    "cordova-plugin-ionic-keyboard": "^2.2.0",
    "cordova-plugin-ionic-webview": "^4.2.1",
    "cordova-plugin-splashscreen": "^5.0.2",
    "cordova-plugin-statusbar": "^2.4.2",
    "cordova-plugin-whitelist": "^1.3.3",
    "jasmine-core": "~3.5.0",
    "jasmine-spec-reporter": "~5.0.0",
    "karma": "~5.0.0",
    "karma-chrome-launcher": "~3.1.0",
    "karma-coverage-istanbul-reporter": "~3.0.2",
    "karma-jasmine": "~3.3.0",
    "karma-jasmine-html-reporter": "^1.5.0",
    "protractor": "~7.0.0",
    "ts-node": "~8.3.0",
    "tslint": "~6.1.0",
    "typescript": "~3.9.5"
  },
  "description": "An Ionic project",
  "cordova": {
    "plugins": {
      "cordova-plugin-local-notification": {},
      "cordova-plugin-whitelist": {},
      "cordova-plugin-statusbar": {},
      "cordova-plugin-device": {},
      "cordova-plugin-splashscreen": {},
      "cordova-plugin-ionic-webview": {
        "ANDROID_SUPPORT_ANNOTATIONS_VERSION": "27.+"
      },
     "cordova-plugin-ionic-keyboard": {}
   },
   "platforms": [
     "ios"
   ]
 }

}

离子信息

Ionic:

Ionic CLI                     : 5.4.16 (/usr/local/lib/node_modules/ionic)
Ionic Framework               : @ionic/angular 5.3.2
@angular-devkit/build-angular : 0.1000.8
@angular-devkit/schematics    : 10.0.8
@angular/cli                  : 10.0.8
@ionic/angular-toolkit        : 2.3.3

Cordova:

Cordova CLI       : 9.0.0 (cordova-lib@9.0.1)
Cordova Platforms : ios 5.1.1
Cordova Plugins   : cordova-plugin-ionic-keyboard 2.2.0, 
cordova-plugin-ionic-webview 4.2.1, (and 6 other plugins)

任何人都有解决此问题的解决方案吗?或者有什么建议插件?

标签: ioscordovaionic-frameworkpluginslocalnotification

解决方案


推荐阅读