废小小小柴
废小小小柴
  • 发布:2024-03-07 21:06
  • 更新:2024-03-15 15:09
  • 阅读:284

【报Bug】iPhone8 Plus勾选uniPush2.0的离线推送后闪退

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Windows

PC开发环境操作系统版本号: Windows 10 教育版21H1

HBuilderX类型: Alpha

HBuilderX版本号: 4.02

手机系统: iOS

手机系统版本号: iOS 16

手机厂商: 苹果

手机机型: iPhone8 Plus

页面类型: vue

vue版本: vue2

打包方式: 云端

项目创建方式: HBuilderX

示例代码:

'''
//获取客户端唯一的推送标识
uni.getPushClientId({
success: (res) => {
console.log('推送设备ID:',res.cid);
let pushclientid = res.cid
uni.setStorageSync('pushclientid', pushclientid)

                    // 获取db引用  
                    const db = uniCloud.database() //代码块为cdb                          
                    db.collection('userinfo')  
                        .where('jwcode=="'+uni.getStorageSync('user').jwcode+'" && appid=="'+uni.getSystemInfoSync().appId+'"')  
                        .get()  
                        .then((res) => {  
                            // res 为数据库查询结果  
                            console.log(res)  
                            let data = res.result.data;  
                            let userData = uni.getStorageSync('user')  
                            let appVersion = uni.getSystemInfoSync().appVersion  
                            if(data == ''){  
                                db.collection('userinfo')  
                                 .add({  
                                     jwcode: uni.getStorageSync('user').jwcode,  
                                     nickname: uni.getStorageSync('user').nickname,  
                                     avatar: uni.getStorageSync('user').img,  
                                     pushclientid: pushclientid,  
                                     appid: uni.getSystemInfoSync().appId,  
                                     lasttime: new Date().getTime(),  
                                     status: 1,  
                                     appversion: appVersion  
                                 })  
                                 .then(ress=>{  
                                     console.log(ress)  
                                 }).catch((errr)=>{  
                                    console.log(errr); // 打印错误码  
                                })  
                            }else if(data.nickname!=userData.nickname||data.avatar!=userData.img||data.pushclientid!=pushclientid||data.appversion!=appVersion){  
                                db.collection('userinfo')  
                                 .where('jwcode=="'+uni.getStorageSync('user').jwcode+'" && appid=="'+uni.getSystemInfoSync().appId+'"')  
                                 .update({  
                                     jwcode: uni.getStorageSync('user').jwcode,  
                                     nickname: uni.getStorageSync('user').nickname,  
                                     avatar: uni.getStorageSync('user').img,  
                                     pushclientid: pushclientid,  
                                     appid: uni.getSystemInfoSync().appId,  
                                     lasttime: new Date().getTime(),  
                                     status: 1,  
                                     appversion: appVersion  
                                 })  
                                 .then(ress=>{  
                                     console.log(ress)  
                                 }).catch((errr)=>{  
                                    console.log(errr); // 打印错误码  
                                })  
                            }  
                        }).catch((err)=>{  
                            console.log(err); // 打印错误码  
                        })  
                },  
                fail(err) {  
                    console.log(err)  
                }  
            })  

'''

操作步骤:

App打开立马闪退,应该是push的注册就不行

预期结果:

App正常运行

实际结果:

App打开即闪退

bug描述:

App模块配置-->Push-->uniPush2.0-->离线推送,,勾选之后,云端打包后的ipa在iPhone8 Plus上安装之后闪退,iPhone SE2装得iOS15没问题,iPhone 14Plus装得iOS17也没问题,另一台苹果设备也有问题(具体型号暂时没问),取消勾选uniPush2.0的离线推送就行,勾选上之后就闪退

2024-03-07 21:06 负责人:DCloud_App_Array 分享
已邀请:
废小小小柴

废小小小柴 (作者)

再补充一下,3月4日打的包还是正常的,3.7就不行了

废小小小柴

废小小小柴 (作者)

另一个闪退的iPad,系统也是iOS16.3(iPad mini5代)

废小小小柴

废小小小柴 (作者)

是和微信支付或者支付宝支付有冲突,这两个去掉一个就正常了,麻烦给处理下行吗?Bug就没人负责的吗?

废小小小柴

废小小小柴 (作者)

顶顶顶顶

ccsharecc

ccsharecc

我也是一样的问题

  • 废小小小柴 (作者)

    你那个引了微信、支付宝支付,,还有离线推送了吗?我们的App一套代码打的国内和海外两个App,海外的就没事,国内的就不行,我打了一天的包,找到问题是支付和推送这块的,,官方就是不鸟我,。。。。

    2024-03-12 14:06

  • ccsharecc

    回复 废小小小柴: 我们是啥也没有,就用了一个系统定位+个推

    2024-03-13 08:59

  • ccsharecc

    回复 ccsharecc: 我们定位出来也是推送的问题

    2024-03-13 09:00

HRK_01

HRK_01

感谢反馈,我联系一下相关负责人排查一下

  • p***@163.com

    这个闪退问题,我也提了。就是没人回应,我刚刚新建了一个空白的项目测试,就开了uniPush2.0,离线推送,然后云打包自定义基座,打开APP就直接闪退,IOS15,IOS17都没问题,IOS16就有问题,运行到标准基座可以打开。自定义基座不行,alpha4.03版本。https://ask.dcloud.net.cn/question/187730

    2024-03-15 15:19

要回复问题请先登录注册