标签:
勾选远程通知选项,可以在配置App ID的时候勾选,也可以在原有App ID的基础上进行更改。
选择我们刚才配置好,勾选推送选项的App ID.
选择我们电脑本地使用证书助理生成的CSR文件
选择此Provisioning Profile的环境后点击Continue
选择要创建Provisioning Profile的App ID后点击Continue
选择所属的开发者证书,(这里创建了多个开发者证书,建议只创建一个,方便管理)为了方便。这里选择Select All,再点击Continue进入下一步。
为该Provisioning Profile选择将要安装的设备(一般选择Select All),点击Continue
给该Provisioning Profile填写Profile Name,点击generate完成创建
创建完成,点击download下载到本地。双击下载下来的Provisioning Profile,添加到xcode。
注意:导出证书的时候,尽量不要展开私钥。
上传给服务器时,需要告诉服务器开发同事证书的密码。
具体怎么新建应用程序和其他开发就不多说了,直接说和推送相关的。
打开info.plist文件的Bundle identifier选项,将配置推送证书的App ID填写进去
点击项目,进入Build Setting 界面,向下滑动,去到Code Signing 配置证书
需要在Xcode 中修改应用的 Capabilities 开启Remote notifications
由于iOS系统权限限制,需要注册远程通知,我们直接上代码
注册通知之后,苹果会将DeviceToken通过代理方法的形式返回相应的代理方法。注意:一定要联网!
这个代理方法会将手机的UDID + 应用程序的Bundle ID发送给苹果,苹果进行某种编码之后再通过代理方法返回。
deviceToken = (手机的UDID + 应用程序的Bundle ID) 苹果编码
返回的deviceToken是NSData类型的,大概格式如下:<7040f7d5 5a974598 c5cf31b5 3e340b39 68affd25 122f0ce1 3f315226 396c2e5b>
注册通知后,在代理方法中接收到苹果返回的deviceToken
实现接收到远程通知的代理方法,触发方法和本地通知流程一致
iOS8以前使用这个方法:
iOS8之后使用这个方法:
执行completionHandler有两个目的
1> 系统会估量App消耗的电量,并根据传递的UIBackgroundFetchResult 参数记录新数据是否可用
2> 调用完成的处理代码时,应用的界面缩略图会自动更新
注意:接收到远程通知到执行完网络请求之间的时间不能超过30秒
标签:
原文地址:http://blog.csdn.net/wuwuweiweilonglong/article/details/51192312