2***@qq.com
2***@qq.com
  • 发布:2026-03-30 17:25
  • 更新:2026-03-30 17:32
  • 阅读:23

【报Bug】苹果端app下面的代码没有任何输出,获取不到cid

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Windows

PC开发环境操作系统版本号: win10

HBuilderX类型: 正式

HBuilderX版本号: 4.76

手机系统: iOS

手机系统版本号: iOS 26

手机厂商: 苹果

手机机型: 苹果11

页面类型: vue

vue版本: vue2

打包方式: 云端

项目创建方式: HBuilderX

示例代码:
uni.getPushClientId({  
                success: (res) => {  
                    console.log("cid",res.cid);  
                },  
                fail(err) {  
                    console.log("失败",err)  
                },  
                complete(e) {  
                    console.log("完成",e)  
                }  
            })  

操作步骤:
uni.getPushClientId({  
                success: (res) => {  
                    console.log("cid",res.cid);  
                },  
                fail(err) {  
                    console.log("失败",err)  
                },  
                complete(e) {  
                    console.log("完成",e)  
                }  
            })  

预期结果:
uni.getPushClientId({  
                success: (res) => {  
                    console.log("cid",res.cid);  
                },  
                fail(err) {  
                    console.log("失败",err)  
                },  
                complete(e) {  
                    console.log("完成",e)  
                }  
            })  

实际结果:
uni.getPushClientId({  
                success: (res) => {  
                    console.log("cid",res.cid);  
                },  
                fail(err) {  
                    console.log("失败",err)  
                },  
                complete(e) {  
                    console.log("完成",e)  
                }  
            })  

bug描述:

苹果端app获取不到cid,没有任何输出,没有报错,没有运行完成,就像没有这个代码一样。
同一个项目安卓端在线推送和离线推送都正常。

2026-03-30 17:25 负责人:无 分享
已邀请:
Ask小助手

Ask小助手

欢迎到专业群( uni-app 官方技术交流群 1 ) 咨询,群中有相关专业的管理员和群友。

针对该 bug 反馈,经评审分析如下:

该反馈描述的问题在知识库中已有明确记录,大概率并非框架 bug,而是使用方式或配置问题

主要问题点:

  1. 复现步骤缺失关键信息:未说明是标准基座还是自定义基座。根据知识库明确说明,获取 Push ClientId 必须使用自定义基座,标准基座无法获取 cid 且不会执行回调。

  2. iOS 网络授权机制:知识库中明确提到 "iOS 是要先授权网络的,如果没有授权,可能调用失败,超时设置过长,这期间就会不执行回调"。用户反馈的"没有任何输出、没有运行完成"符合网络未授权时的表现。

  3. uni-push 2.0 配置检查:虽然安卓端正常,但 iOS 端需要在开发者中心单独配置推送证书,并在 manifest.json 中启用 iOS 平台的 uni-push 2.0。常见报错 getPushClientId:fail register fail 通常由配置不全引起。

建议补充信息:

  • 确认当前使用的是自定义基座而非标准基座
  • 检查应用启动时是否已同意网络访问权限(iOS 首次启动需要用户授权网络)
  • 确认已在 开发者中心 配置 iOS 推送证书,并在 manifest.json 中正确配置 Bundle ID 和推送权限
  • 尝试添加超时参数或检查网络状态后再调用 uni.getPushClientId

参考文档:

若确认以上配置均正确且使用自定义基座仍无法复现,建议提供可运行的最小复现工程及完整的控制台日志。

内容为 AI 生成,仅供参考
2***@qq.com

2***@qq.com (作者) - lovesky

肯定是自定义基座!!网络访问权限都给了。开发者中心ios推送证书都配置了的。

要回复问题请先登录注册