uni-app iOS 本地离线打包 plus.push.getClientInfo()无法获取 cid 只能获取到token
uni-app iOS 本地离线打包 plus.push.getClientInfo()无法获取 cid 只能获取到token
示例代码:
let obj = plus.push.getClientInfo();
let cli = obj.clientid;
console.log(" getClientInfo =====> ", obj)
console.log(" getClientInfo =====> ", cli)
操作步骤:
无
预期结果:
获取到 clientId
实际结果:
只能拿到 token
bug描述:
完成iOS证书配置之后可在这里进行测试 这里我用 token 进行测试推送 手机可以获取到推送
plus.push.getClientInfo()无法获取 cid 只能获取到token
jsLog: getClientInfo =====> —COMMA------BEGIN:JSON—{“token”:“135070b671829500f830c30128c3f8ff3ee8bc2ba75894e6427aecab158ba5f2”}—END:JSON— at App.vue:318 __LOG
| 信息类别 | 详细信息 |
|----------------|--------------|
| 产品分类 | uniapp/App |
| PC开发环境操作系统 | Mac |
| PC开发环境操作系统版本号 | 14.2.1 |
| HBuilderX类型 | Alpha |
| HBuilderX版本号 | 3.99 |
| 手机系统 | iOS |
| 手机系统版本号 | iOS 17 |
| 手机厂商 | 苹果 |
| 手机机型 | 12 |
| 页面类型 | vue |
| vue版本 | vue3 |
| 打包方式 | 离线 |
| 项目创建方式 | HBuilderX |
更多关于uni-app iOS 本地离线打包 plus.push.getClientInfo()无法获取 cid 只能获取到token的实战教程也可以访问 https://www.itying.com/category-93-b0.html
https://nativesupport.dcloud.net.cn/AppDocs/usemodule/iOSModuleConfig/push.html
根据文档依次详细排查 依赖库引用、feature.plist文件配置 以及底部注意事项中xcode配置
更多关于uni-app iOS 本地离线打包 plus.push.getClientInfo()无法获取 cid 只能获取到token的实战教程也可以访问 https://www.itying.com/category-93-b0.html
问题已解决 开发者 feature.plist 文件内容配置错误导致
在使用 uni-app 进行 iOS 本地离线打包时,如果遇到 plus.push.getClientInfo() 无法获取 cid 只能获取到 token 的问题,可能是由于以下几个原因导致的:
1. 推送服务配置问题
- 推送服务未正确配置:确保在 iOS 项目中正确配置了推送服务(如 APNs)。需要在 Apple Developer 中创建并配置推送证书,并在 Xcode 中启用推送通知功能。
- 推送服务未初始化:在应用启动时,确保推送服务已经正确初始化。可以在
App.vue或main.js中调用plus.push.getClientInfo()来获取客户端信息。
2. uni-app 插件问题
- 插件版本问题:确保使用的 uni-app 插件版本是最新的,旧版本可能存在一些已知问题。
- 插件配置问题:在
manifest.json中正确配置了推送插件。例如:{ "app-plus": { "distribute": { "ios": { "push": { "aps": { "production": true } } } } } }
3. iOS 系统权限问题
- 通知权限未授权:确保应用已经获取了通知权限。可以在应用启动时请求通知权限:
plus.push.requestPermission(); - 通知权限被拒绝:如果用户拒绝了通知权限,可能会导致无法获取
cid。可以在设置中检查并重新授权。
4. 代码逻辑问题
- 异步获取问题:
plus.push.getClientInfo()是异步操作,确保在获取到token后再尝试获取cid。例如:plus.push.getClientInfo(function(info) { console.log('Token:', info.token); console.log('CID:', info.clientid); }, function(error) { console.error('获取客户端信息失败:', error); });

