iOS APNs远程推送流程精简版
1.去Apple Developer Center里创建应用的信息,指定APP ID(Bundle ID),配置里开启推送功能(Push Notifications)。
后续步骤需要用到这个应用的包名(Bundle ID)。这个Bundle ID要和你项目里的Bundle ID完全相同!
2.添加测试远程推送的真机到Devices,这里需要获取iOS设备的UDID。
(远程推送必须是真机才可以推送!因为真机才有deviceToken。)
a) 电脑连上真机,可以直接在iTunes查看,右键点击就可以复制呢!

b) 不能连接真机到电脑?那可以去蒲公英 获取!
3.如果是选择了Xcode里的手动配置证书和配置文件,那么这里还要配置Provisioning Profiles,否则可以不用配置。
这个只需要选对应的APP ID,然后下载到本地,之后给Xcode配置的时候用就可以了。
4.获取证书,可选开发、生产模式的证书。同样也是要选择APP ID,然后上传CSR文件。打开钥匙串访问, 钥匙串访问-证书助理-从证书... ,然后导出一个.certSigningRequest文件到磁盘,上传这个CSR文件,然后苹果就可以给你生成.cer证书文件了。

5.如果需要使用第三方推送平台(极光、环信),那么需要上传.p12文件给第三方平台。
就把对应的.cer文件下载下来,双击导入这个证书到本机。
然后打开 钥匙串访问,钥匙串类型选择:登录,种类选择:证书,就可以看到刚刚.cer对应的那个选项。
右键导出之,密码要记住,第三方平台需要用到这个密码。

6.上传这个.p12文件给第三方平台,给.p12改好名字,配置好密码,选择对应的开发模式。
项目内按照第三方平台的要求,把SDK相关的内容配置好。
7.连接真机到电脑,打断点监测 - (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken 这个方法 。
然后真机启动应用,如果这个方法有被回调,那么就可以终结应用进程。
然后在第三方平台进行推送测试,这时候真机如果联网正常,应该就可以收到这个测试推送!
参考资料:
iOS APNs远程推送流程精简版的更多相关文章
- iOS APNS远程推送(史上最全步骤)
/*****************************************1************************************************/ waterma ...
- ios远程推送和python版push server相关笔记
今天研究了下ios的远程推送,网上的相关教程很多,做了一遍下来记录一下遇到的问题和注意事项(转载请注明) 1.证书及乱七八糟的配置 公钥:app id管理那儿的“Development Push SS ...
- iOS导出远程推送所需要的P12 或pem文件
http://www.saitjr.com/ios/ios-export-remote-notification-p12-pem-file.html iOS导出远程推送所需要的P12 或pem文件 h ...
- IOS本地,APNS远程推送(具体过程)
添加本地推送 ///本地添加 -(void)addLocalPushNotification:(UIButton*)sender; { NSLog(@"%s",__FUNCTION ...
- iOS注册远程推送消息证书后提示此证书签发者无效的解决办法
大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请多提意见,如果觉得不错请多多支持点赞.谢谢! hopy ;) 我们在编写关于远程推送消息的App时需要注册一个相关的证书,我 ...
- APNS远程推送(转发)
/*****************************************2************************************************/ /****** ...
- iOS 关于远程推送(push) 的几个问题
1 push 基本流程原理 (1)启动 app (2)注册远程通知 (3)苹果服务器回调一个deviceToken "didRegisterForRemoteNoti ...
- APNS 远程推送通知 PUSH deviceToken
服务器向客户端推送消息: 当应用程序推到后台,或者根本就没有运行(我们的代码无能为力) 如果这种情况之下,应用程序想和用户交互(传统的做法 不可能) 推送 APNS:Ap ...
- iOS远程推送1
一.APNS 远程推送 1.所有的苹果设备,在联网状态下,都会与苹果服务器建立长连接. 2.长连接:就是只要联网了,就一直建立连接. 3.长连接的作用:时间校准,系统升级,查找我的iPhone. 4. ...
随机推荐
- webpack体积优化篇二(GZ压缩)
这里我列举几个常用的能够用于减少包体大小的插件,我们可以根据项目需求选择性的使用: compression-webpack-plugin :该插件能够将资源文件压缩为.gz文件,并且根据客户端的需求按 ...
- 【SDCC讲师专访】PingCAP联合创始人兼CEO刘奇:好的产品应开源,不闭门造车-CSDN.NET
[SDCC讲师专访]PingCAP联合创始人兼CEO刘奇:好的产品应开源,不闭门造车-CSDN.NET 小米的Themis
- mysql too many connection 解决办法
SHOW VARIABLES LIKE "max_connections"; SHOW VARIABLES LIKE "wait_timeout"; SET G ...
- Visual Studio安装空白 和 VS Code打开失败解决方案
微软博文:https://docs.microsoft.com/zh-cn/visualstudio/install/troubleshooting-installation-issues?view= ...
- 为什么java构造函数的构造器只能在第一行写this() 或者super() ?
最近在看内部类, 但是被“为什么匿名内部类或者局部内部类使用方法的局部变量时, 局部变量一定得是final类型”困扰着, 在网上查找资料的时候, 发现我对类初始化完全不了解, 之前的认识都是错误! 所 ...
- [C#]从URL中获取路径的最简单方法-new Uri(url).AbsolutePath
今天在写代码时遇到这样一个问题: 如何从字符串 "http://job.cnblogs.com/images/job_logo.gif" 中得到 "/images/job ...
- 2016/3/26 weixin 头像 昵称 网页优化显示 缺表中数据 只有代码 无显示效果
weixin.php <!DOCTYPE html> <html lang="en"> <head> <meta charset=&quo ...
- BootstrapValidator demo
source:http://bv.doc.javake.cn/api/ BootstrapValidator is the best jQuery plugin to validate form fi ...
- Datatables 1.10.x在命名上与1.9.x
1.10.x与1.9.x参数名对照表 Datatables 1.10.x在命名上与1.9.x的有区别,新版的使用的是驼峰的命名规则,而之前的是采用匈牙利命名规则 当然,这些变化都是向下兼容的,你可以继 ...
- 获取WiFi MAC地址总结【转】
本文转载自:http://blog.csdn.net/crazyman2010/article/details/50464256 今天对MAC地址的获取做了一些学习,目前网上获取MAC地址的方法主要如 ...