
一个信号也基于APNS实现。Onesignal集成了多种推送类型,包括移动推送、Web推送、应用内推送、电子邮件,并支持iOS和Android。这是一个非常方便的第三方推送平台。
证书准备1.1 CSR文件首先,我们需要通过证书助手生成证书签名请求(CSR)请求文件。
形象
形象
继续后,选择保存位置,然后单击保存。将有CertificateSigningRequest的请求文件。certSigningRequest,即CSR文件。
注意:当您选择从证书颁发机构请求证书时,最好选择密钥链中的所有项目,否则创建的CSR证书可能无效。
1.2生成带有推送通知的AppID 1.2.1创建AppID后,为AppID的推送通知配置CSR:
形象
此部分用于配置此APP ID的推送通知。SSL证书允许移动电话上的通知服务器连接到Apple推送通知服务(APNS)。您可以看到有两个配置部分:
开发SSL证书:开发推送证书配置,开发环境可以接收推送。
生产SSL证书:推送证书配置。在线环境可以接收推送。

1.2.2单击创建证书,然后上载步骤1.1中生成的CSR文件
形象
1.2.3下载推送证书并将其添加到计算机上的密钥链
形象
形象
1.2.4双击证书以自动将其添加到密钥链
形象
找到自己的APP(以下名称是当时设置的捆绑包ID),右键单击以导出p12文件,填写密码并保存。
形象
形象
生成的p12文件通常为推送平台(其自己的推送平台,或第三方推送平台、优梦等)配置,以便他们可以向APNS发送推送通知。

这将完成证书配置。
两个APP推送iOS处理生命周期和推送都在AppDelegate中。AppDelegate继承自UIResponder并符合UIApplicationDelegate协议。与推送相关的方法都在UIApplicationDelegate协议中。它包括本地推送和远程推送。
呼叫过程
1app启动
2注册配置
3注册推送
4注册设备令牌
5接收处理推送
2.1 APP支持远程推送
形象
2.2向系统申请通知权限AppDelegate。米

#import -(void)requirePushPermission{if([[UIDevice currentDevice].systemVersion floatValue]>=8.0){UIUserNotificationType allNotificationTypes=(UIUserNotificationTypeSound | UIUserNotificationTypeAlert | UIUserNotificationTypeBadge);UIUserNotificationSettings*settings=[UIUserNotificationSettings settingsForTypes:allNotificationTypes类别:nil]; ; ; ; ;[[UIApplication sharedApplication]registerUserNotificationSettings:settings]; ; ; ; ;[[UIApplication sharedApplication]registerForRemoteNotifications];//注册以获取设备令牌否则{//iOS 10或更高版本,如果(@可用(iOS 10.0,*)){[UNUserNotificationCenter currentNotificationCenter}.委托=自己; ; ; ; ; ; ;UNAuthorizationOptions authOptions=nbsp; ; ; ;UNAuthorizationOptionAlert | Unauthorization OptionSound | Unauthorization OptionBadge; ; ; ; ; ; ;[[UNUserNotificationCenter currentNotificationCenter]requestAuthorizationWithOptions:authOptions ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ;completionHandler:^(已授予BOOL,NSError*_Nullable错误){&nbs