1.本地通知【这里只是讲的一种传值方式,本地推送可以在网上搜索 简书里面有很多好文章】
2.远程推送
下面两篇文件是兼容IOS的推送。 如果是使用三方【比如极光推送】的话,可以直接看三方的最新文档即可。
iOS开发 iOS10推送讲解(基础篇):http://www.jianshu.com/p/f5337e8f336d
:iOS开发 iOS10推送讲解(高阶1):http://www.jianshu.com/p/3d602a60ca4f
参考来自:http://blog.csdn.net/shenjie12345678/article/details/41120637
如果还有不明白的地方 可以 结合http://www.open-open.com/lib/view/open1431566847716.html 学习。
用推荐方式去实现更好!之后的内容是我的学习过程,方便理解。同样也可以实现
推荐方式: http://blog.csdn.net/think12/article/details/8863411 from同事推荐[将文件的命名与文中保持一致,后面的命令行直接copy打印即可]
经验:只要正确下载好了配置文件和证书,在发送测试推送的时候 直接在命令行执行 php文件即可
注意事项:
* 在程序中注册推送的时候一定要区分系统版本 IO8之前和之后的注册方式是不同的!!!![见下面的绿色背景代码]
注册推送的目的是想apns发送本应用的id和bundle,注册成功后apns会返回devicetoken
devicetoken 并不是是唯一的,deviceToken的生成方式就是手机id+应用的bundle,测试版 和 发布版的deviceToken也不一样
1、主要注意证书、AppID、配置文件的设置和命名的规范【这个命名规范非常重要!格式错了 下面的整个过程结束后也得不到预期的结果】
1.2例如 在AppID的命名时 bundle的命名应该为 com.xxx.项目名称如下图
Provider是给你手机应用发出推送消息的服务器,而APNS(Apple Push Notification Service)则是苹果消息推送服务器。你本地的服务器当需要给应用推送一条消息的时候,先要将消息发出到苹果推送服务器,然后再由苹果推送服务器将消息发到安装了该应用的手机。
接下来再看一张解释图:
根据上图的逻辑我来给大家解释一下:
1.你的IOS应用需要去注册APNS消息推送功能。
2.当苹果APNS推送服收到来自你应用的注册消息就会返回一串device token给你(很重要)
3.将应用收到的device Token传给你本地的Push服务器。
4.当你需要为应用推送消息的时候,你本地的推送服务器会将消息,以及Device Token打包发送到苹果的APNS服
5.APNS再将消息推送给目的iphone
第二部分
1.从证书颁发机构颁发证书
打开你mac的钥匙串访问 然后点击钥匙串访问
随后它会弹出一个窗口
用户电子邮件信息
就填写你苹果开发者账号的名称即可(应该是一个邮件名称),点击保存到磁盘的选项,点击继续,显示如下
点击存储,文件名为:CertificateSigningRequest.certSigningRequest 随后将他放在一个文件夹中我们取名push吧!
第三部分
访问苹果开发者网址:https://developer.apple.com/
选中MemberCenter选项,进入登陆页面,用你的苹果开发者账号登陆,过一会网页就会自动跳转到下图。点击红色所选部分
内容进行下一步的操作。
选择Certificates选项,设置证书,如图所示先解释一下
Development选项的作用顾名思义就是用来作为开发使用的证书,Production选项则
是用来发布产品使用的,名称很陌生是不是,之前的开发者网页是没有这一选项的,可能是苹果把他修改了,用这个名称更加能让人
理解吧(字面上解释就是产品么)。两个选项生成证书的步骤是一样的,现在我们使用开发者的选项进行证书的制作,步骤如下:
选择Development选项
点击上面的加号选项,
选择APNS选项(开发么当然是在沙盒环境下了,模拟真实情况),然后Continue
这个AppID我们在下一部分讲如何生成,现在我用的是已经生成好的一个应用ID,继续Continue
这边就要选择在钥匙串访问环节下载下来的CertificateSigningRequest.certSigningRequest文件了,选择并生成