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. ...
随机推荐
- codeforces 873F(后缀数组)
题意 给一个长度不超过200000的字符串s,假定有一个字符串a,这个字符串在s中出现次数是f(a),你需要让$|a|f(a)$最大. 但是有一些位置是禁止的,即以该位置为结束位置的字符串不计数. 分 ...
- Spring的@Qualifier注解
以下内容引用自http://wiki.jikexueyuan.com/project/spring/annotation-based-configuration/spring-qualifier-an ...
- 使用Guava适配不同的callback
Cache<Key,Value> cache =CacheBuilder.newBuilder() .maximumSize(1000) .build();// look Ma, no C ...
- linux安装mail服务使用外部MTA发送邮件
阉割版的linux没有mail命令,也没有/etc/mail.rc文件 需要安装mail服务 yum install mailx.x86_64 几个概念:MUA.MTA.MDA 邮件用户代理(MUA, ...
- Linux 快照
10个方法助你轻松完成Linux系统恢复 提交 我的留言 加载中 已留言 这也就是为什么系统恢复功能会让人感觉如此神奇.你可以很快地重新回到工作中去,就像什么事情都没有发生一样,也不用去管造成系统故障 ...
- 类的相互依赖导致StackOverflowError
public class SchoolServiceImpl { private static SchoolServiceImpl instance = new SchoolServiceImpl() ...
- [LeetCode] Contains Duplicate(II,III)
Contains Duplicate Given an array of integers, find if the array contains any duplicates. Your funct ...
- Swift简单介绍 教程
Swift是什么? Swift是苹果于WWDC 2014公布的编程语言.这里引用The Swift Programming Language的原话: Swift is a new programmi ...
- antd 离线 icon
讲你下载下来的官方提供的字体库解压后所有文件复制到node-modules/antd/dist目录下 创建新的文件夹iconfont 在你项目生成的css入口文件对应的源码less文件开始添加如下两句 ...
- 分享:APK高级保护方法解析(三)
刷朋友圈.玩游戏.看新闻,智能手机正在以我们无法想象的速度飞快发展,可是随之而来的安全问题也越来越引人关注,APP二次打包.反编译.盗版的现象屡见不鲜.因此须要对APK进行加固保护. 眼下市面上常见的 ...