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推送问题集锦

iOS APNs远程推送流程精简版的更多相关文章

  1. iOS APNS远程推送(史上最全步骤)

    /*****************************************1************************************************/ waterma ...

  2. ios远程推送和python版push server相关笔记

    今天研究了下ios的远程推送,网上的相关教程很多,做了一遍下来记录一下遇到的问题和注意事项(转载请注明) 1.证书及乱七八糟的配置 公钥:app id管理那儿的“Development Push SS ...

  3. iOS导出远程推送所需要的P12 或pem文件

    http://www.saitjr.com/ios/ios-export-remote-notification-p12-pem-file.html iOS导出远程推送所需要的P12 或pem文件 h ...

  4. IOS本地,APNS远程推送(具体过程)

    添加本地推送 ///本地添加 -(void)addLocalPushNotification:(UIButton*)sender; { NSLog(@"%s",__FUNCTION ...

  5. iOS注册远程推送消息证书后提示此证书签发者无效的解决办法

    大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请多提意见,如果觉得不错请多多支持点赞.谢谢! hopy ;) 我们在编写关于远程推送消息的App时需要注册一个相关的证书,我 ...

  6. APNS远程推送(转发)

    /*****************************************2************************************************/ /****** ...

  7. iOS 关于远程推送(push) 的几个问题

    1  push 基本流程原理    (1)启动 app      (2)注册远程通知    (3)苹果服务器回调一个deviceToken "didRegisterForRemoteNoti ...

  8. APNS 远程推送通知 PUSH deviceToken

    服务器向客户端推送消息:      当应用程序推到后台,或者根本就没有运行(我们的代码无能为力)      如果这种情况之下,应用程序想和用户交互(传统的做法 不可能)      推送 APNS:Ap ...

  9. iOS远程推送1

    一.APNS 远程推送 1.所有的苹果设备,在联网状态下,都会与苹果服务器建立长连接. 2.长连接:就是只要联网了,就一直建立连接. 3.长连接的作用:时间校准,系统升级,查找我的iPhone. 4. ...

随机推荐

  1. Atom列编辑快捷键

    安装这个:sublime-style-column-selection,在Ubuntu下使用[Shitf]+鼠标左键选择.

  2. MySQL入门笔记 - 视图

    参考书籍<MySQL入门很简单> 1.视图定义 视图是从一个或者多个表中导出来的虚拟的表,透过这个窗口可以看到系统专门提供的数据,使用户可以只关心对自己有用的数据,方便用户对数据操作,同时 ...

  3. 查看MySQL系统变量的命令

    用了好长时间mysql,却没有用心记住一些有用的东西,加油! mysql> SHOW VARIABLES; +---------------------------------+-------- ...

  4. [RxJS] Implement RxJS `concatMap` by Waiting for Inner Subscriptions to Complete

    Unlike mergeMap and switchMap, concatMap focuses on when "inner" subscriptions "compl ...

  5. VB和VB.NET有什么区别

    作为VB6.0的后续版本,VB.NET更加稳定,而且完全面向对象.也许你还记得,VB6.0部支持继承.重载和接口,所以不是真正面向对象的.而VB.NET则支持这些面向对象特性.VB6.0有两个薄弱环节 ...

  6. Deepin-快捷方式设置

    Linux无非就是命令命令命令,而不是点点点,下面介绍快捷方式 然后点击 最后找到快捷方式(鼠标滚轮下滑) 快捷方式自个看着修改

  7. CV_HAAR_FEATURE_DESC_MAX和CV_HAAR_FEATURE_MAX

    #define CV_HAAR_FEATURE_MAX 3 //提前定义的一个宏,在程序中表示一个haar特征由至多三个矩形组成 #define CV_HAAR_FEATURE_DESC_MAX 20 ...

  8. [Android]自己定义带删除输入框

    在项目开发中,带删除button输入框也是人们经常常使用到的,该文章便介绍一下怎样创建一个带删除输入框.当中,须要解决的问题例如以下: a)创建自己定义editText类 b)在自己定义editTex ...

  9. 使用正則表達式的格式化与高亮显示json字符串

    使用正則表達式的格式化与高亮显示json字符串 json字符串非常实用,有时候一些后台接口返回的信息是字符串格式的,可读性非常差,这个时候要是有个能够格式化并高亮显示json串的方法那就好多了,以下看 ...

  10. browser user agent

    乐视X501 UC浏览器1080x1920x32Mozilla/5.0 (Linux; U; Android 5.0.2; zh-CN; Letv X501 Build/DBXCNOP55013041 ...