前提条件

1.macOS系统,安装了xcode,并且配置好了cocoapods第三方管理工具

2.有苹果开发者账号

3.有环信开发者账号

(注册地址:https://console.easemob.com/user/register)

在苹果开发者中心创建项目,注册推送证书.

1.登录苹果开发者中心.

Apple Developer

(请用自己的苹果开发者账号)

2.苹果开发者中心创建 - Identifiers.

(name - empushdemo )

(identifier - com.yyytp.empushdemo )

3.钥匙串 - 从证书颁发机构请求证书

(本机证书)

4.针对刚创建的bundle id开通并注册Certificates push 证书

(注册 可以在开发和生产双环境下使用的推送证书)

5.安装证书到本机,并导出 push - p12

(这里需要格外注意操作步骤!不能展开!!!要闭合的状态导出!!!)

(因为申领的证书是双环境的,所以导出的p12文件直接复制成双份即可)

(开发证书名称 : yyytp_empush_apns_dev)

(生产证书名称 : yyytp_empush_apns_pro)

(密码 : 不告诉你)

以上是在苹果开发者中心做了两件事

1.创建了bundleid为com.yyytp.empushdemo的app

2.创建推送证书 apns-2.cer 并导出了 (.p12) 证书,复制为2份,分别命名为 yyytp_empush_apns_dev 和 yyytp_empush_apns_pro 密码是 123456

其中两份p12证书内容是完全一样的,只是命名不同,都适用于开发和生产环境,不过为了后期导入环信后台时方便辨识

===========分割线===========================

在环信console后台创建一个appkey,顺带创建一个测试username

1.登录环信console后台:https://console.easemob.com/user/login

2.创建appkey

(app_name : showpushdemo )

3.创建一个测试账号

(测试账号 : emtest 密码 1 )

========分割线=======================

在环信console后台中上传推送证书(.p12文件)

注意!!!是在刚才创建的appkey(1168171101115760#showpushdemo)下创建证书!!!

(这里需要注意的细节是:证书名不能有中文和其他特殊符号!!! 建议 字母 + 下划线)

(所以我会采用 yyytp_empush_apns_dev / yyytp_empush_apns_pro 这样的命名方式)

最终效果

=========分割线=======================

在代码中实现

1.创建项目

em_push_showdemo

2.集成环信SDK

pod 'HyphenateChat' , '3.9.0'

3.配置项目

4.代码部分如下:

下面代码是AppDelegate.m的所有代码,可直接复制粘贴

下面代码是AppDelegate.m的所有代码,可直接复制粘贴

下面代码是AppDelegate.m的所有代码,可直接复制粘贴

//
//  AppDelegate.m
//  em_push_showdemo
//
//  Created by flower on 2022/3/14.
//#import "AppDelegate.h"
#import
#import @interface AppDelegate ()@end@implementation AppDelegate- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
// Override point for customization after application launch.
/*1.注册环信SDK2.注册推送注册成功之后 绑定至环信SDK3.登录账号*/[self _registerEMCHAT];[self _registerSysPush];[self _loginEMCHAT];
return YES;}- (void)_registerEMCHAT{EMOptions *options = [EMOptions optionsWithAppkey:@"1168171101115760#showpushdemo"];options.apnsCertName = @"yyytp_empush_apns_dev";options.isAutoLogin = false;options.usingHttpsOnly = true;[EMClient.sharedClient initializeSDKWithOptions:options];}- (void)_registerSysPush{[UNUserNotificationCenter.currentNotificationCenterrequestAuthorizationWithOptions:UNAuthorizationOptionBadge|UNAuthorizationOptionSound|UNAuthorizationOptionAlertcompletionHandler:^(BOOL granted, NSError * _Nullable error) {
if (granted) {
dispatch_async(dispatch_get_main_queue(), ^{[UIApplication.sharedApplication registerForRemoteNotifications];});}}];}- (void)_loginEMCHAT{[EMClient.sharedClient loginWithUsername:@"emtest" password:@"1" completion:^(NSString *aUsername, EMError *aError) {
if (aError) {
NSLog(@"登录失败");}else{
NSLog(@"登录成功");
//下面这个updatePushDisplayStyle是设置显示效果,有两种显示效果可以设置.详情可查看枚举值(EMPushDisplayStyleSimpleBanner)的定义[EMClient.sharedClient.pushManager updatePushDisplayStyle:EMPushDisplayStyleSimpleBanner completion:^(EMError * _Nonnull aError) {}];}}];}- (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken{
NSLog(@"绑定成功");
dispatch_async(dispatch_get_main_queue(), ^{[EMClient.sharedClient bindDeviceToken:deviceToken];});}- (void)application:(UIApplication *)application didFailToRegisterForRemoteNotificationsWithError:(NSError *)error{}@end

4.运行至手机,运行完成后,退出APP,发送消息测试推送.

【IM集成攻略】手把手教你环信对接离线推送,再搞不定把你头打掉相关推荐

  1. rust高墙大门怎么造_《我的世界手游》城堡大门建造图文攻略 手把手教你城堡大门怎么建...

    川北在线核心提示:原标题:<我的世界手游>城堡大门建造图文攻略 手把手教你城堡大门怎么建 我的世界手游城堡大门怎么建,盖城堡是个大工程,但是我们可以从盖一座城堡大门开始!只要走进城门,再小 ...

  2. 环信android手机推送苹果收不到消息,环信iOS端离线推送收不到怎么办?(客服)...

    离线推送收不到,按照下面步骤一步一步进行排查: 0.如果你的app之前可以收到离线推送,突然收不到了,那么先到苹果开发者中心查看推送证书是否过期.如果过期了,需要重新制作证书,然后到环信管理后台将旧的 ...

  3. 我的世界1.14刷雪机java版_我的世界全自动刷雪机图文攻略 手把手教你刷雪机怎么做...

    :原标题: 我的世界刷雪机怎么做?我的世界全自动刷雪机做法是什么?想必对于各位初入我的世界的小伙伴来说有些困难,接下来我们一起来看看我的世界全自动刷雪机做法吧. [需要的材料提前准备] 橡木楼梯.南瓜 ...

  4. css profile填写攻略,手把手教你填写CSS Profile表格

    上期我们介绍了填写FAFSA的流程,如果需要申请助学金,所有学校都要求填写FAFSA表格.而CSS Profile只有大约200多所学校需要填写,其中绝大部分是私立学校.我们密西根的Univ. of ...

  5. ArcBlock 博客 | OCAP超简易集成攻略(Android 篇)

    作者: Nate Robinson(ArcBlock 团队移动开发工程师) 5 天后,ArcBlock 第三场.中国的第一场内测版黑客马拉松即将在北京举行,截至本文推送之际,已有 56 人报名,剩余名 ...

  6. 抖音评论如何放置连接_给你一篇攻略,教你如何玩转抖音!

    原标题:给你一篇攻略,教你如何玩转抖音! 教你如何玩转抖音 在现代网络媒体逐渐普及化的今天,深入了解网络媒体运营不可或缺.抖音作为新发展起来的网络媒体备受大众欢迎和认可,抖音的魅力和影响力也备受瞩目. ...

  7. 面试全攻略,教你解锁程序员面试时的正确姿势

    面试全攻略,教你解锁程序员面试时的正确姿势 随着金九银十的到来很多人在考虑跳槽,特地奉上面试攻略,拿到offer不是梦 面试,难还是不难? 取决于面试者的底蕴(气场+技能).心态和认知及沟通技巧. 面 ...

  8. 手把手教你完成CSDN对接百度统计 看完这篇文章你还不会对接 欢迎您提刀顺着网线来砍我!!!!

    大家好,我是:じ☆ve朽木,开发经验都是一步一步慢慢积累的,没有谁生来就具有的,只要我们付出了努力,肯定就会有收获!进入我的博客,带你了解Java知识,js小技巧,带你玩转高端物联网.博客地址为:じ☆ ...

  9. 【申博攻略】五.专家推荐信模板

    文章目录 推荐信一 推荐信二 相关笔记链接: [申博攻略]一.北交计算机学院学术型博士"申请-考核"攻略(招生简章篇) [申博攻略]二.北交计算机学院学术型博士"申请-考 ...

最新文章

  1. 出租(标记+格式输出)
  2. 关于构造与析构过程中调用虚函数的问题
  3. SDWebImage的使用说明
  4. xmlspy php,XMLSpy使用流程 - tnlzz31985的个人空间 - OSCHINA - 中文开源技术交流社区
  5. ------webkitformboundary
  6. Java程序员如何高效学习,才能加快成为架构师的步伐
  7. AD9371+ZC706 NO-OS初始工程搭建-Vivado2019.2
  8. Word公式编辑器的使用方法
  9. 高等数学——驻点,拐点,极值点
  10. 淘宝手淘首页金字塔流量爬升法|运营狗
  11. 如何调整DOSBox窗口大小
  12. Market1501数据集介绍及相关代码
  13. c语言程序 出圈游戏,【出圈】 (C语言代码)
  14. oracle空值排到最前面或最后面
  15. 【重识云原生】第六章容器基础6.4.5.1节——Deployment概述
  16. javaee之http协议、request请求
  17. Windows快捷键☞【Win+R】常用命令
  18. [FOC-Simulink]使用Simulink代码生成工具基于STM32开发板对永磁同步电机进行开环控制
  19. 创建临时表空间组+查询临时表空间组+临时表空间移动到别的临时表空间组中
  20. jackson驼峰转下划线注解_springboot与web前端的下划线与驼峰的json转换配置

热门文章

  1. java语言如何求平方根
  2. C4D模型工具—优化
  3. Redis--Redis数据过期策略详解
  4. 基于SSM实现的网上手机商城项目(附源码)
  5. 开箱测评丨VEAZEN VZ200民谣吉他
  6. codevs 2867 天平系统3
  7. 安装分区助手,总是显示“分区助手已安装到你的电脑中,怎么办
  8. 微信小程序:设置字体跟随手机系统
  9. 天天向商升级为稿定设计之后,初衷会变吗?未来的发展将会如何?
  10. 1 About This Guide