JPush极光推送Unity插件iOS设备无法获取DeviceToken

2023-11-19

前言:

最近在使用JPush进行极光推送。Unity插件GitHub地址https://github.com/jpush/jpush-unity3d-plugin

问题描述:

但是发现了一个问题,按照官方文档操作,最终仍然无法获取DeviceToken,检查了多次,集成了多次,仍然无法获取一直报

 Not get deviceToken yet. Maybe: your certificate not configured APNs? or current network is not so good so APNs registration failed?  or there is no APNs register code? Please refer to JPush docs.

问题定位:

在确认了正确按照集成文档操作,生产证书和开发证书都没问题后,使用官方给出的F&A中关于DeviceToken的方法:

出现Not get deviceToken yet. Maybe: your certificate not configured APNs?...错误日志时如何排除问题?

如果出现上述日志,则说明一段时间内都无法获取device token,那么:

  • 确认你的app配置了apns权限,如果未配置apns权限,则应该会出现此错误提示。
  • 确认你的app运行在ios真机而非模拟器上,且通知中心中对应app的通知权限没有完全关闭(alert/sound/badge至少有一个权限是打开的)。
  • 确认你的网络状况,与apple的服务器的连接是通过tcp的 5223端口连接,确认你网络的对应端口是否可用,可通过下列命令来确认这点:

    telnet 1-courier.push.apple.com 5223
    
  • 在代码中可在以下两个函数中断点以确认device token的获取状态。

    - (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken;
    - (void)application:(UIApplication *)application didFailToRegisterForRemoteNotificationsWithError:(NSError *)error;
    

    如果app运行进入 didFailToRegisterForRemoteNotificationsWithError 则说明app的APNS权限问题或者app运行在模拟器,参考 证书设置文档。

    如果app运行进入didRegisterForRemoteNotificationsWithDeviceToken 则说明运行正常,请确认你在此函数中的代码中有将token传递给jpush的调用:

    [JPUSHService registerDeviceToken:deviceToken];
    
  • 如果以上两个registerRemoteNotification的函数都未进入, 请确认你的代码中有注册申请apns的函数调用:

    [JPUSHService registerForRemoteNotificationTypes:];
    
  • 如果上述情况都已确认且未进入第4步的任意回调函数,则可以判断无法获取token的原因在于设备与apple的网络连通性问题(注:一个设备只有在未申请过token的情况下才会需要与apple的网络交互来获取token,已经获取过某一环境token的设备在无网络的情况下也能获取到对应环境的token(环境分为 开发/生产)),这种情况下切换网络能够在大部分情况下解决此问题。

  • 如果仍然有问题,请将上述步骤的结果以邮件附件的形式发送到JPush支持邮箱,我们将协助你解决此问题。

结果还是不行!
再次看了下集成的代码,其中在deviceToken函数回调函数前:
查找了UNITY_USERS_REMOTE_NOTIFICATIONS的定义,在Preprocessor.h中
该值在Unity5.3.2前默认为1,但是当前使用的Unity2017版本,默认为0!也就是说集成的函数中回调函数根本没进入! 抓狂

解决方案:

此时在按照集成文档完成后,证书设置正常,把该值设置为1,在XCode中显示deviceToken获取正常。
接下来享受JPush带来的便捷吧。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

JPush极光推送Unity插件iOS设备无法获取DeviceToken 的相关文章

随机推荐

  • centos7 pip3 安装python模块包报错解决

    centos7 pip3 安装python模块包报错 bash usr local bin pip3 usr local bin python3 6 坏的解释器 没有那个文件或目录 root localhost Python pip3 in
  • 关于蚁剑的安装和使用

    下载地址 加载器 https github com AntSwordProject AntSword Loader 核心源码 https github com AntSwordProject antSword 加载器中的是exe文件 因为源
  • PyQt5+VTK环境搭建

    PyQt5 VTK环境搭建 VTK 简介及安装 VTK 介绍 VTK 在 Python 环境下安装 方法一 安装 anaconda 使用 conda install 安装 适用于 python3 适用于 python 2 方法二 镜像安装
  • 第一章遇见的问题(题目是原创,答案转载收集互联网)

    1 PCTSTR和LPCTSTR 在ANSI编译方式下 PCTSTR和LPCTSTR等价于LPCSTR 在Unicode下等价于LPCWSTR 2 LPVOID WINAPI LocalLock in HLOCAL hMem 功能 锁定一个
  • IAR个人常用配置

    IAR个人常用配置 文章目录 IAR个人常用配置 1 设置 2 设置tab和indent为4空格 3 设置编码为UTF 8 4 自动缩进设置 5 修改背景颜色和字体 6 修改全局搜索快捷键 1 设置 Tools gt Options 2 设
  • 网红漏洞“致远OA系统上的GetShell漏洞”详解

    概述 腾讯御界高级威胁检测系统近期监测到 致远OA系统上的 GetShell漏洞 在网上被频繁利用攻击政企客户 对于存在漏洞的OA系统 攻击者无需任何权限 即可向服务器上传webshell 腾讯驻场工程师通过御界高级威胁检测系统告警通知及时
  • Flutter Error: The method ‘toInt‘ isn‘t defined for the class ‘Decimal‘

    1 运行项目报错 2 错误原因分析 从错误日志可以看出 是common utils插件中的decimal 2 0 0依赖库报错了 猜测可能是decimal升级版本了导致不兼容造成的 打开https pub flutter io cn 搜索d
  • Windows安装frida

    一 正常步骤 cmd中 pip3 install frida i https pypi mirrors ustc edu cn simple 上面失败用这个 pip install frida i http mirrors aliyun c
  • linux 查看及修改字符集

    一 查看当前linux系统的字符集方法 1 1 locale 1 2 echo LANG 1 3 env grep LANG 二 查看当前系统支持的字符集 root localhost locale a 三 修改系统字符集 3 1 临时生效
  • vue中使用bus总线在非父子组件之间传值

    使用bus总 线可以在 兄弟 父子 祖先和后代 组件之间传值 原理 在Vue原型中 创建一个bus属性 让每一个组件 实例 都具有这个属性 这里自行引入 vue
  • Idea 发布最适合程序员的字体!

    作为 编译期界的大佬 JetBrains公司一直致力于提供更好的编码环境 前两天 JetBrain推出了一个新的字体 JetBrain Mono 号称是最适合程序员的编码的字体 我赶紧尝了尝鲜 体验了一天之后发现确实好看 因此推荐给大家 首
  • ABB MPRC086444-005数字输入模块

    ABB MPRC086444 005 是一款数字输入模块 通常用于工业自动化和控制系统中 用于接收和处理数字信号 以下是这种类型的数字输入模块通常可能具备的一般功能和特点 数字输入接口 MPRC086444 005 模块通常配备多个数字输入
  • AttGAN从paper到code理解

    AttGAN Facial Attribute Editing by Only Changing What You Want 2017 CVPR 文章简介 本文研究面部属性编辑任务 其目的是通过操作单个或多个感兴趣的属性 如头发颜色 表情
  • RabbitMQ的安装和启动——windows版

    本章介绍如何在win10下安装 RabbitMQ 并启动 安装 Erlang 安装 RabbitMQ 启动 RabbitMQ 百度网盘下载 Erlang 和 RabbitMQ Erlang 网盘链接 RabbitMQ 网盘链接 结语 下载R
  • 搜索研发工程师需要掌握的一些技能

    文章目录 基础 语言 数据结构与算法 工程方面 搜索相关 搜索主要模块 电商搜索流程 分词相关 搜索召回 相似度算法 相关词推荐 排序相关 国美搜索 搜索算法工程师需要掌握的技能 基础 语言 大部分公司用的是Solr ElasticSear
  • 算法相关-经典排序算法(python实现)

    概述 插入排序 将未排序的元素同已排序的元素从后往前比较 带排序元素 a 被比较元素 b 如果a
  • 在Linux是使用libxml2---从安装到使用

    一 下载和安装LIBXML2 方法一 Libxml2是个C语言的XML程式库 能简单方便的提供对XML文件的各种操作 并且支持XPATH查询 及部分的支持XSLT转换等功能 Libxml2的下载地址是 http xmlsoft org 完全
  • 支撑区块链大规模商用,FISCO BCOS v3.0的那些“黑科技”

    注 文章转载自CSDN公众号 在2021年度金链盟生态大会上 全新的FISCO BCOS v3 0正式发布 该版本从架构 算法以及安全可控和隐私计算协同等方向进行了全面升级 满足数字经济时代对区块链系统可承载更大规模 更多场景 更广泛参与的
  • spring-xxx-xxx-0.0.1-SNAPSHOT.jar中没有主清单属性完美解决

    这种情况就是因为没有在SpringBoot中pom文件安装maven plugin 导致出现没有主清单属性问题 1 引入插件
  • JPush极光推送Unity插件iOS设备无法获取DeviceToken

    前言 最近在使用JPush进行极光推送 Unity插件GitHub地址https github com jpush jpush unity3d plugin 问题描述 但是发现了一个问题 按照官方文档操作 最终仍然无法获取DeviceTok