深
  • 发布:2023-04-26 17:39
  • 更新:2023-04-27 16:36
  • 阅读:140

plus.push.getClientInfoAsync在部分苹果手机里不执行回调

分类:uni-app
onLaunch: function(options) {  
    // 推送相关  
    // #ifdef APP-PLUS  
    setTimeout(() => {  
        this.getCid()  
    }, 1000)  
    // #endif  
},  
methods: {  
         getCid() {  
            let pinf = plus.push.getClientInfo();  
            let cid = pinf && pinf.clientid || '';  
            if (!cid) {  
                    plus.push.getClientInfoAsync((info) => {  
                        cid = info["clientid"];  
                        if (cid) {  
                            uni.setStorageSync('cid', cid)  
                        } else {  
                            this.globalData.getCidCount++  
                            this.globalData.getCidCount < 10 ? setTimeout(() => {  
                                this.getCid()  
                            }, 100) : ""  
                        }  
                        console.log("cid", cid)  
                    }, err => {  
                        uni.showModal({  
                            title: "cidError",  
                            content: JSON.stringify(err)  
                        })  
                    });  
                } else {  
                    console.log("同步获取")  
                    uni.showModal({  
                        title: "同步获取cid",  
                        content: cid  
                    })  
                }  

            },  

}

在App.vue里执行上面的代码,安卓和部分苹果手机能获取到clientid,但是有些苹果手机不管同步获取还是异步获取都拿不到clientid,异步获取时回调函数都不执行,不管是正确的回调还是错误的回调

2023-04-26 17:39 负责人:DCloud_iOS_WZT 分享
已邀请:
DCloud_iOS_WZT

DCloud_iOS_WZT

不要在app.vue里获取 框架可能还没完成初始化

  • (作者)

    用定时器延迟获取也不行吗?

    2023-05-03 17:44

  • DCloud_iOS_WZT

    回复 : 不行

    2023-05-05 11:23

要回复问题请先登录注册