iOS开发ipa包可以收到推送,企业签名后收不到推送


(Ai刘鸿羽) #1

开发使用的推送证书和开发生产证书是由一个个人开发者账号生成的。 用证书在开发环境,生产环境下,ipa包都可以收到推送消息(包括极光web端和服务器端),但是让别人使用企业证书生成签名包后,就收不到消息了。不知为什么,请大神指点。。万分感谢。。


#2

由于我们没有测试过你所说的[quote=“AI1, post:1, topic:28272”]
让别人使用企业证书生成签名包
[/quote]

操作,不清楚该操作会不会导致证书不匹配等情况

提供一下你设备的 registrationID值和消息的 MessageID ,我们查一下推送结果,查看本帖第 5 点提供正确的信息


(Ai刘鸿羽) #3

会不会是他们在企业签名的时候没有在生成app ID时打开推送服务呀?我用的是别名推送的,用用户ID做别名,每个用户对应唯一别名,所以没用registrationID。。。 MessageID = 2152530441,这条消息是刚发送给企业签名后的ipa包的,别名是45,前端没有收到。。MessageID = 972530253,这条消息是向直接生成的ipa包发送的消息,没有企业签名,收到了消息。


#4

提供你们的 Appkey


(Ai刘鸿羽) #5

6b8dee1d8ac4c809060cac56


#6

不行,你的别名下之前有设置过其他的设备,开发的或生产的,没有清除,我现在无法定位到你测试的这个 App 的推送情况。

当前在官网显示的目标1但是未成功的这个设备,Apple 返回的错误信息是已卸载,卸载时间是 2018/7/16 10:16:53
但不能确定该目标就是你测试的这个 App ,所以需要你设置取一下 registrationID 值,或者设置一个历史未曾设置过的别名,并保证成功,我再查一下。

或者你调服务端的 API 删除掉这个别名下所有的设备,重新给这个设备绑定,最好还是取到他的 registrationID 才能更准确的定位

https://docs.jiguang.cn/jpush/server/push/rest_api_v3_device/#_5


(Ai刘鸿羽) #7

是的,这个账号我在开发环境和生产环境都使用过,而且平时测试时也用这个。我注册个新的账号,这样就对应唯一别名啦。。 关于获取registrationID,现在是企业签名这个包获取到但是无法显示,只能在Xcode运行时打印输出,或再生成个新包再去签名,太麻烦了。如果用别名和MessageID这个办法还不行再搞。。我们现在不在一个地方。。交流不便。

我注册了个新账号(企业签名ipa 包安装),别名是 247 ,,刚发了一条消息,MessageID = 2153112016。 目标0 ,成功 0


#8

这个失败的原因是你们的生产包没有上报 token ,所以无法推送成功。

需要检查是否在企业包签名后导致无法完成 apns 的注册,无法从 Apple 取到 token


(Ai刘鸿羽) #9

意思就是企业签名后没有从APNS获取token,或是没有将token上传到极光平台是吧?? 那怎样在签名之前就可以排除这个问题呢?是不是只能跟签名那边交流,问清楚他们的具体打包时的配置才行??


#10

这个我不清楚哦,只能查到你们的token没上报,一般就是获取不到 token 导致的,你可以根据上述排查链接检查一下相关配置,然后关注下客户端日志信息,如果获取不到 token,日志里面也会打印。


(Ai刘鸿羽) #11

现在是 开发时可以获取并打印出token,registrationID,并且有登录极光返回消息,并在开发环境下成功推送并收到消息,打包成生产环境ipa包安装到手机上也可以推送成功。。就是在企业签名之后就不行了,是不是这么搞注定不行,苹果不让这么干,之前有没有先例呢?


#12

研发回复:
证书肯定是要用同一账号生成,使用企业证书生成签名包,那就需要用企业证书生成的推送证书。


企业证书签名的ipa包能收到推送吗
(Ai刘鸿羽) #13

如果是这个原因,那就好解释了。。 我也觉得应该是这样


(荣耀) #14

老哥。解决了吗


#15

该开发者回应:与证书不一致的问题有关


(都盈) #16

请问下,老哥,这个问题怎么解决的呢