神奇的問題1. 退出登錄後,會收到重複的兩條消息
原因:因爲沒有調用 removeEventListener 刪除監聽方法,所以會監聽多個
網上找了很多刪除監聽的方法,終於找到正確的刪除監聽方法如下,不用bind方法
//去除監聽
removeListenNotification() {
document.removeEventListener("jpush.receiveNotification", this.receiveNotification, false);
document.removeEventListener("jpush.openNotification", this.openNotification, false);
}
//監聽接收消息
listenReceiveNotification() {
document.addEventListener("jpush.receiveNotification", this.receiveNotification, false);
}
receiveNotification() {
this.storage.set(this.storage.NoticeDataChange, "true");
}
//監聽打開消息
listenOpenNotification() {
this.openNotification = this.openNotification.bind(this);//在綁定事件時,不使用bind 綁定this, 繞個彎綁定this (???黑人臉)
document.addEventListener("jpush.openNotification", this.openNotification, false);
}
openNotification(event) {
}
問題2. iOS真機測試可以收到消息,打包收不到消息
用xcode連真機,接收消息接收的很歡樂,一打包交給測試後一條消息都沒有收到,好尷尬
解決方法:代碼肯定沒有問題,Alias也設置成功了,查到最後是開發證書的問題,
打包一直是使用腳本打包,以前設置method="ad-hoc",正確應該設置"development"打開發包
使用xcode打包也一樣,構建的時候選擇Development,然後導出