ancientry
ancientry
  • 发布:2019-05-27 09:02
  • 更新:2019-05-27 09:27
  • 阅读:1834

【已解决】推送IOS设备重复执行,死循环了

分类:uni-app

详细问题描述

(DCloud产品不会有明显的bug,所以你遇到的问题大都是在特定环境下才能重现的问题,请仔细描述你的环境和重现方式,否则DCloud很难排查解决你的问题)

[内容]官方的unipush ,ios本地消息推送一直循环执行,死循环了

重现步骤

[步骤]

1:下载官方UNIPUSH代码,创建本地消息;

2:打包ios自定义基座;

3:unipush发送推送;

4:本地消息一直死循环

[结果]

[期望]
尽快解决
[如果语言难以表述清晰,拍一个视频或截图,有图有真相]

IDE运行环境说明

[HBuilder 或 HBuilderX。如果你用其他工具开发uni-app,也需要在此说明]hbulideX版本号1.9.9.20190522

[IDE版本号]

[windows版本号]

[mac版本号]

uni-app运行环境说明

[运行端是h5或app或某个小程序?]APP ios

[运行端版本号]

[项目是cli创建的还是HBuilderX创建的?如果是cli创建的,请更新到最新版cli再试]

[编译模式是老模板模式还是新的自定义组件模式?]

App运行环境说明

[Android版本号]

[iOS版本号]
ios 12.2
[手机型号]
iphone 5s
[模拟器型号]

附件

[IDE问题请提供HBuilderX运行日志。菜单帮助-查看运行日志,点右键打开文件所在目录,将log文件压缩成zip包上传]

[App问题请提供可重现问题的代码片段,你补充的细一点,问题就解决的快一点]

[App安装包或H5地址]

[可重现代码片段]
app.vue
//监听在线消息事件推送通知的
plus.push.addEventListener(
'receive',
function(message) {
if (message.aps) {
// Apple APNS message
//接收到在线APNS消息
var content = message.content; //内容
createLocalPushMsg(content); //创建本地通知
} else {
var content = message.content; //内容
plus.push.createMessage(content); //创建本地通知

            }  
        },  
        false  
    );  
    function createLocalPushMsg(content) {  
        var options = {  
            cover: false  
        };  
        plus.push.createMessage(content, 'LocalMSG', options);  
        if (plus.os.name == 'iOS') {  
            console.log('*如果无法创建消息,请到-设置通知-中配置应用在通知中心显示!');  
        }  
    }  

联系方式

[QQ]1274135463

2019-05-27 09:02 负责人:无 分享
已邀请:
ancientry

ancientry (作者)

已解决:

onLaunch:function (){  
    const _self = this;  
    const _handlePush = function(message) {  
        /**  
         * 通过 vuex 来同步页面的数据,仅做演示。  
         * 实际开发中,这里可能是跳转到某个页面等操作,请根据自身业务需求编写。  
         */  
        _self.updatePushMessage(message);  
    };  
    //获取推送通知  
    plus.push.addEventListener(  
        'receive',  
        function(message) {  
            _handlePush(message); //其他页面同步  
            plus.nativeUI.alert('接收到的透传推送 ' + JSON.stringify(message));  
            if (plus.os.name == 'iOS') {  
                switch (message.payload) {  
                    case 'LocalMSG':  
                        plus.nativeUI.alert('本地创建消息的 ' + JSON.stringify(message));  
                        break;  
                    default:  
                        //测试本地推送  
                        createLocalPushMsg(message);  
                        break;  
                }  
            }  
        },  
        false  
    );  
    //点击推送进来  
    plus.push.addEventListener(  
        'click',  
        function(message) {  
            // 判断是从本地创建还是离线推送的消息  
            plus.nativeUI.alert('点击处理消息 ' + JSON.stringify(message));  
        },  
        false  
    );  
    //创建本地消息  
    function createLocalPushMsg(message) {  
        var options = { cover: false };  
        plus.push.createMessage(message.content, 'LocalMSG', options);  
        if (plus.os.name == 'iOS') {  
            outLine('*如果无法创建消息,请到"设置"->"通知"中配置应用在通知中心显示!');  
            plus.nativeUI.alert('*如果无法创建消息,请到"设置"->"通知"中配置应用在通知中心显示!');  
        }  
    }  
},

该问题目前已经被锁定, 无法添加新回复