7***@qq.com
7***@qq.com
  • 发布:2022-03-29 14:56
  • 更新:2023-05-04 14:09
  • 阅读:652

有关iOS版本离线打包,push功能只能获取到token字段无clientid等字段的问题

分类:uni-app

问题描述

通过开发工具生成离线打包资源后,通过Xcode离线打包并运行在真机上,只能获取到token字段,无法看到appid、clientid等字段。采用的是unipush

代码截图

控制台输出

查询情况

在Google及百度上都进行了查询,同时在该社区也进行了查询,仅发现一个评论表示和我遇到同样的问题,其他的都是获取不到clientid,通过setimeout基本可以解决。

解决情况

目前尝试过的方法

  1. setTimeout10次,每次200毫秒,无法解决
  2. 重新关闭开启iOS的推送权限,无法解决
  3. 按照文档重新检查打包所需要的附件,确认无误,无法解决
  4. 目前push后台上传的iOS证书为沙盒推送证书,点击“测试一下?”按钮,输入token提示是正确的。
2022-03-29 14:56 负责人:iOS_DJX 分享
已邀请:
iOS_DJX

iOS_DJX

您好 你这个方法调用时机是什么时候?

  • 7***@qq.com (作者)

    您好,感谢您的回复。我是在应用打开时 app.vue的onLaunch里调用的。我在允许推送通知以后关掉app再打开,已经不提示获取权限了,拿到的结果依旧是只有token。

    2022-04-02 11:47

  • iOS_DJX

    回复 7***@qq.com: 时机往后延迟一下 设置个定时器 看能否取得到 如果取得到 那就是你写的时机不太对

    2022-04-02 11:59

  • 7***@qq.com (作者)

    回复 iOS_DJX: 我在获取clientid的时候,设置了一个循环定时器,这个定时器200毫秒执行一次,app打开后,若没有获取到clientid则会一直循环获取。我上次等了100多次都不行。因为晚上的案例都是没有clientid但是有appid、我这个是只有token别的都没有,就有点迷茫了。

    2022-04-02 14:49

  • iOS_DJX

    回复 7***@qq.com: 我看一下 你本地的 PandoraApi.bundle 下的 feature.plist

    2022-04-02 14:57

  • 7***@qq.com (作者)

    回复 iOS_DJX: 这个是什么呀?应该在哪里看呀?是离线打包时候的配置吗?Xcode里面?

    2022-04-02 16:22

  • iOS_DJX

    回复 7***@qq.com: 是的

    2022-04-02 17:18

  • 7***@qq.com (作者)

    回复 iOS_DJX: 我一开始发现项目里没有PandoraApi.bundle 然后我在sdk文件夹把这个拖到了xcode里面,现在项目里frameworks文件夹有了一个pandoraapi文件夹。里面能看到feature表,表里有push相关配置,我已经截图放到下面的回复中。麻烦您方便的时候帮我看一下是哪里有问题我应该如何处理。感谢。此外我拖动进来以后又编译了一次(真机运行)依旧是只有token

    2022-04-04 02:28

  • 7***@qq.com (作者)

    回复 iOS_DJX: 抱歉我才看到原来项目里本来就有pandoraapi,我现在上传了新的截图,请您查看。

    2022-04-04 13:00

  • 前端开发菜鸟

    pandoraapi 放在哪里的

    2023-08-18 20:18

7***@qq.com

7***@qq.com (作者)

该图为feature.plist的截图

7***@qq.com

7***@qq.com (作者)


这是新的截图

  • 4***@qq.com

    解决了么?

    2022-08-25 19:40

  • iOS_DJX

    回复 4***@qq.com: 按照新文档 做了吗?

    2022-08-31 11:43

  • 前端开发菜鸟

    回复 iOS_DJX: pandoraapi 这个是放哪个目录下的 在sdk那边 项目里查不到

    2023-08-18 20:19

4***@qq.com

4***@qq.com

我也遇到了同样的问题,解决了么?

水陌言生

水陌言生

同样的问题, 想知道怎么解决,好心人留个言给我吧,太难受了, 两周了。。。。。

3***@qq.com

3***@qq.com

必须勾选uniPush 1.0或者2.0才可以通过plus.push.getClientInfo()拿到clientId,否则就会是上面的情况只有token

  • 1***@163.com

    我勾住了也是只有token,勾哪个都一样

    2023-05-07 15:07

  • 3***@qq.com

    回复 1***@163.com: 先勾选Push,然后它里面的uniPush1.0,如果你是这样勾选的那我不知道,不过有一次我只勾选了Push,情况跟你一样,只有token

    2023-05-29 17:46

  • lihai

    回复 3***@qq.com: 我两个都勾选还是没有 只有token 安卓又是正常的就ios不行 而且只有离线是不行的,基座运行时正常获取的

    2023-07-15 11:38

  • 前端开发菜鸟

    回复 3***@qq.com: 离线打包配置问题 那个勾选没啥关系 不是云打包的

    2023-08-18 20:19

  • 前端开发菜鸟

    回复 lihai: 你这边有解决了吗 pandoraapi是不是这个项目中没有导致的

    2023-08-18 20:20

要回复问题请先登录注册