iOS使用百度云推送问题总结

1、去keychain生成csr文件(如果已经有了就不需要再生成了)

2、到开发者中心新建或者修改一个已经存在的App ID,我这里是修改,如下图:
iOS使用百度云推送问题总结_第1张图片

这里注意,推送是针对特定的app的,必须指明证书所对应的app id,所以如果你的证书是通配符(.*)的话,这里是不能点击的。

iOS使用百度云推送问题总结_第2张图片

一直下一步,把1中生成的csr文件传上去,最后download一个.cer文件,双击把这个.cer文件加入keychain,包含推送的证书搞定了!

3、重新生成一个授权文件(Provisioning Profile),必须先把2中的证书搞定了再来生成授权文件,不然是没有效果的。 选择第2步中包含推送功能的App ID(现在很多开发者账号会有多个证书,不要选错了),最后download下来是一个mobileprovision文件

iOS使用百度云推送问题总结_第3张图片

4、修改你的工程设置 Target-Build Settings -Code Signing - Provisioning Profile选择第3步中的文件,这样你的工程算是配置完成了!

iOS使用百度云推送问题总结_第4张图片

5、把百度云推送的SDK加入工程,照着demo在appdelegate中加入代码之后,应该可以看到token获取成功的回调信息了。如果没有使用新的授权文件,会一直报如下信息:

iOS使用百度云推送问题总结_第5张图片

6、接下来测试推送是否真的起到作用,设备能不能收到消息。

6.1、先百度云推送控制台(http://push.baidu.com/console/app/list)创建一个应用,应用类型选APPLE,接下来就是大问题所在了!

iOS使用百度云推送问题总结_第6张图片

这里要上传证书,本人做的时候发现传了很多证书都收到诸如“证书无效”、“证书不合法”、“上传证书失败”等等问题。我犯的两个错误:一是选择证书选错了(选了没有包含推送功能的证书),二是把公钥和私钥都上传上去了。其实只要细心一点就没问题,跟着百度的文档走(http://developer.baidu.com/wiki/index.php?title=docs/cplat/push/guideios,“APNs证书准备”这一段),在keychain中选中前面新修改的包含推送功能的证书,导出来,是一个.p12文件,注意不要展开那个三角形,然后转换成.pem,只要这一个就行了,私钥不需要,这位朋友说的是不对的:http://www.cnblogs.com/ios8/p/ios-pem.html,本人根据这个指引就犯了第二个错误!大家引以为戒!

6.2、把6.1中生成的KEY设置到BPush对象,然后在云推送控制台发送一个通知来测试:

iOS使用百度云推送问题总结_第7张图片

6.3、手机收到消息了,说明推送功能调通了!

iOS使用百度云推送问题总结_第8张图片

你可能感兴趣的:(ios,百度,aps-environment,云推送,未找到应用程序,权利字符串)