大环境:MacOS10.11.5,Xcode7,iPhone5 iOS8.3
服务端PushAPI v3文档 (假如服务后台那边不集成的话,这个可以不看)
jpush社区 (这个链接还是记录下,jpush那边说什么业务重新已经转移到社区了,导致完全不怎么理qq群,其实社区也是很少回复的,还好里边已经有我们可能也会遇到的问题,没办法了,免费的,只能忍忍了~)
主要步骤:
1.得到相应的开发环境和生产环境p12文件(建议整个文件夹统一放支持推送的证书和profile文件,还有p12文件)
获取p12文件
相应bundleid的profile文件
2.极光门户网站新建应用,主要是得到appkey,(对客户端来说),假如服务端自己集成开发的话,那还有提供master secret
3.相关的配置,主要包括required库文件导入(jpush假如支持Pod该多好),header文件路径设置,http支持(可选,可针对性域名支持,也可以全局支持)
4.程序中加入如下代码(如下图,亲们看下思路就行,没找着插入代码地方)
注意点
推送要在真机上测试;
要注意看那个集成文档,特别注意iOS系统兼容性问题以及相应的设置,例如bitcode,库什么的.
暂时想到这么多,特此记录下,以便以后自己查阅,当然假如对正在阅读的你有所帮助,那是多么开心的事啊。
我是快乐的iOS程序媛,虽然不是什么大咖,但是喜欢真正的去学东西,之后记录下来,顿时感觉自己超有成就感,请原谅我这小虾米小小的自恋,喜欢就点个❤️哦~
end
后期补充
问题:上周突然发现测试环境在极光门户网站发送通知消息之后,客户端收不到推送消息(设备已允许接收消息,应用也在后台,中间有换过证书)
解决:删除之前的所有证书,重新生成主开发证书、主发布证书、开发推送证书、发布推送证书,以及重新得到推送开发证书的p12文件,并上传到Jpush门户网站验证。代码和xcode配置没有发生任何改动,ok。
Jpush那边查看之后,告知是证书无效的缘故,具体原因没说。
门户网站上的证书是最新已验证的,xcode中的证书也是最新的,无效,开始我的理解就是过期失效了,其实后来发现不是,应该是主证书和推送证书不匹配的缘故导致的。
主证书:创建证书时的第一个证书(分别是开发和发布项目下的第一项)
推送证书:分别为第二项
Jpush门户网站上上传验证的p12文件正是从两个推送证书导出。
疑问:创建推送证书时,只是要上传本地一个请求证书文件,并没有跟主证书有什么联系,换了主证书文件为何会影响到推送证书,导致证书不匹配,从而出现证书无效呢?目前还不是特别明白。
另外:
针对Xcode8.3.2,开发者账号为公司账号(199美元/年),这种情况下,并不需要生成相应的profile文件,Xcode会自动为你选择相应的证书和profile文件。
以下两个profile文件都是系统自动生成(下载相应的主证书和推送证书,双击加入到钥匙串,打开xcode运行项目),开发环境和发布应用时都可以使用。
备注问题:
运行demo出来如下问题,小记下
网友评论