1、去keychain生成csr文件(如果已经有了就不需要再生成了)
2、到开发者中心新建或者修改一个已经存在的App ID,我这里是修改,如下图:
这里注意,推送是针对特定的app的,必须指明证书所对应的app id,所以如果你的证书是通配符(.*)的话,这里是不能点击的。
一直下一步,把1中生成的csr文件传上去,最后download一个.cer文件,双击把这个.cer文件加入keychain,包含推送的证书搞定了!
3、重新生成一个授权文件(Provisioning Profile),必须先把2中的证书搞定了再来生成授权文件,不然是没有效果的。 选择第2步中包含推送功能的App ID(现在很多开发者账号会有多个证书,不要选错了),最后download下来是一个mobileprovision文件
4、修改你的工程设置 Target-Build Settings -Code Signing - Provisioning Profile选择第3步中的文件,这样你的工程算是配置完成了!
5、把百度云推送的SDK加入工程,照着demo在appdelegate中加入代码之后,应该可以看到token获取成功的回调信息了。如果没有使用新的授权文件,会一直报如下信息:
6、接下来测试推送是否真的起到作用,设备能不能收到消息。
6.1、先百度云推送控制台(http://push.baidu.com/console/app/list)创建一个应用,应用类型选APPLE,接下来就是大问题所在了!
这里要上传证书,本人做的时候发现传了很多证书都收到诸如“证书无效”、“证书不合法”、“上传证书失败”等等问题。我犯的两个错误:一是选择证书选错了(选了没有包含推送功能的证书),二是把公钥和私钥都上传上去了。其实只要细心一点就没问题,跟着百度的文档走(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对象,然后在云推送控制台发送一个通知来测试:
6.3、手机收到消息了,说明推送功能调通了!