iOS集成极光(jpush)推送

大环境:MacOS10.11.5,Xcode7,iPhone5 iOS8.3

jpush集成详细参考文档

常见问题链接 

服务端PushAPI v3文档 (假如服务后台那边不集成的话,这个可以不看)

jpush门户网站开发者登录 

jpush社区 (这个链接还是记录下,jpush那边说什么业务重新已经转移到社区了,导致完全不怎么理qq群,其实社区也是很少回复的,还好里边已经有我们可能也会遇到的问题,没办法了,免费的,只能忍忍了~)

主要步骤:

1.得到相应的开发环境和生产环境p12文件(建议整个文件夹统一放支持推送的证书和profile文件,还有p12文件)

获取p12文件

iOS集成极光(jpush)推送_第1张图片

相应bundleid的profile文件

iOS集成极光(jpush)推送_第2张图片

2.极光门户网站新建应用,主要是得到appkey,(对客户端来说),假如服务端自己集成开发的话,那还有提供master secret

iOS集成极光(jpush)推送_第3张图片

3.相关的配置,主要包括required库文件导入(jpush假如支持Pod该多好),header文件路径设置,http支持(可选,可针对性域名支持,也可以全局支持)

iOS集成极光(jpush)推送_第4张图片
iOS集成极光(jpush)推送_第5张图片
iOS集成极光(jpush)推送_第6张图片

4.程序中加入如下代码(如下图,亲们看下思路就行,没找着插入代码地方)

iOS集成极光(jpush)推送_第7张图片

注意点

推送要在真机上测试;

要注意看那个集成文档,特别注意iOS系统兼容性问题以及相应的设置,例如bitcode,库什么的.

暂时想到这么多,特此记录下,以便以后自己查阅,当然假如对正在阅读的你有所帮助,那是多么开心的事啊。

我是快乐的iOS程序媛,虽然不是什么大咖,但是喜欢真正的去学东西,之后记录下来,顿时感觉自己超有成就感,请原谅我这小虾米小小的自恋,喜欢就点个❤️哦~

end




后期补充

问题:上周突然发现测试环境在极光门户网站发送通知消息之后,客户端收不到推送消息(设备已允许接收消息,应用也在后台,中间有换过证书)

解决:删除之前的所有证书,重新生成主开发证书、主发布证书开发推送证书发布推送证书,以及重新得到推送开发证书的p12文件,并上传到Jpush门户网站验证。代码和xcode配置没有发生任何改动,ok。

针对该问题,Jpush社区上的一些问答和回复

推送证书生成

推送证书生成讨论

集成Jpush遇到的一些问题(主证书和APNs证书)

Jpush那边查看之后,告知是证书无效的缘故,具体原因没说。

门户网站上的证书是最新已验证的,xcode中的证书也是最新的,无效,开始我的理解就是过期失效了,其实后来发现不是,应该是主证书和推送证书不匹配的缘故导致的。

主证书:创建证书时的第一个证书(分别是开发和发布项目下的第一项)

推送证书:分别为第二项 


iOS集成极光(jpush)推送_第8张图片


Jpush门户网站上上传验证的p12文件正是从两个推送证书导出。


iOS集成极光(jpush)推送_第9张图片


疑问:创建推送证书时,只是要上传本地一个请求证书文件,并没有跟主证书有什么联系,换了主证书文件为何会影响到推送证书,导致证书不匹配,从而出现证书无效呢?目前还不是特别明白。

另外:

针对Xcode8.3.2,开发者账号为公司账号(199美元/年),这种情况下,并不需要生成相应的profile文件,Xcode会自动为你选择相应的证书和profile文件。


iOS集成极光(jpush)推送_第10张图片

以下两个profile文件都是系统自动生成(下载相应的主证书和推送证书,双击加入到钥匙串,打开xcode运行项目),开发环境和发布应用时都可以使用。


iOS集成极光(jpush)推送_第11张图片

备注问题:

运行demo出来如下问题,小记下

iOS集成极光(jpush)推送_第12张图片

你可能感兴趣的:(iOS集成极光(jpush)推送)