iOS 远程推送实现远程推送 证书申请 环境配置等
2017-03-07 13:21
549 查看
在App中 大部分应用都用到远程推送的功能 如果你能静下心来从头到尾读这篇文章 完全就没有问题了 原理在这里就不阐述了 我们直接来实现远程推送 用到了极光推送
1、我们先创建一个工程 在项目中查看Bundle Identifier
登录苹果开发者中心 进入证书管理界面 创建App ID
注意创建的App Id 要与项目中 Bundle Identifier 对应 并且勾选 Push Notifications
至此 App ID 的创建我们就完成了 下面来创建 推送的测试证书 和 生产证书
进入钥匙串访问应用
如图 选择 从证书颁发机构申请证书
创建两个文件 PushTestNotification (申请测试环境证书用到 )和 pushProductionNotification (申请生产环境证书用到)
下面 进入苹果开发者中心 证书管理界面创建证书 推送的测试环境证书 与生产环境证书 如下图所示
点击下一步之后 选择刚刚创建的APP ID 注意一定要对应上APP ID 在这里选择刚刚在钥匙串申请的文件 注意也要跟证书对应上
创建并下载完之后是这样的
然后 我们进入 钥匙串访问界面 找到 这两个证书
选中之后 右键 选择导出 (注意导出要求输入的密码为 证书的密码 可以直接选择:“好” 跳过)
导出之后的 p12文件如下图所示 (注意 :极光推送不需要生成pem文件)
至此 证书已经准备完毕
打开极光推送 官网 https://www.jiguang.cn
创建账号 并且创建应用 如下图所示
然后点最下方创建 创建之后的应用状态如下图所示
在官网下载SDK https://docs.jiguang.cn/jpush/resources/#ios-sdk
然后打开我们的Xcode工程 最后的配置如下图所示
在Signing这里选择自动管理
接下来 进入代码环节 打开工程 AppDelegate.m
#import "JPUSHService.h"
//收到推送方法
好了 我们来运行一下 如下图 选择允许
运行状态下 会走收到推送的方法 didReceiveRemoteNotification 退到后台 或者锁屏状态下 会已横幅的状态显示
我们先锁屏 看一看效果
打开极光推送网站 在控制台点击我们的应用 选择上方 推送
选择左侧发送通知 来测试一下
然后点击最下方 发送
至此 简单的推送功能已经完成 如果有问题欢迎提问 谢谢大家
1、我们先创建一个工程 在项目中查看Bundle Identifier
登录苹果开发者中心 进入证书管理界面 创建App ID
注意创建的App Id 要与项目中 Bundle Identifier 对应 并且勾选 Push Notifications
至此 App ID 的创建我们就完成了 下面来创建 推送的测试证书 和 生产证书
进入钥匙串访问应用
如图 选择 从证书颁发机构申请证书
创建两个文件 PushTestNotification (申请测试环境证书用到 )和 pushProductionNotification (申请生产环境证书用到)
下面 进入苹果开发者中心 证书管理界面创建证书 推送的测试环境证书 与生产环境证书 如下图所示
点击下一步之后 选择刚刚创建的APP ID 注意一定要对应上APP ID 在这里选择刚刚在钥匙串申请的文件 注意也要跟证书对应上
创建并下载完之后是这样的
然后 我们进入 钥匙串访问界面 找到 这两个证书
选中之后 右键 选择导出 (注意导出要求输入的密码为 证书的密码 可以直接选择:“好” 跳过)
导出之后的 p12文件如下图所示 (注意 :极光推送不需要生成pem文件)
至此 证书已经准备完毕
打开极光推送 官网 https://www.jiguang.cn
创建账号 并且创建应用 如下图所示
然后点最下方创建 创建之后的应用状态如下图所示
在官网下载SDK https://docs.jiguang.cn/jpush/resources/#ios-sdk
然后打开我们的Xcode工程 最后的配置如下图所示
在Signing这里选择自动管理
接下来 进入代码环节 打开工程 AppDelegate.m
#import "JPUSHService.h"
//iOS10新出的注册推送的方法与此不同,待后续文章更新 if ([[UIDevicecurrentDevice].systemVersionfloatValue] >= 8.0) { //可以添加自定义categories [JPUSHServiceregisterForRemoteNotificationTypes:(UIUserNotificationTypeBadge | UIUserNotificationTypeSound | UIUserNotificationTypeAlert) categories:nil]; } else { //categories必须为nil [JPUSHServiceregisterForRemoteNotificationTypes:(UIRemoteNotificationTypeBadge | UIRemoteNotificationTypeSound | UIRemoteNotificationTypeAlert) categories:nil]; } appkey填刚刚申请下来的appkey apsForProduction选择NO是测试环境 YES是生产环境需要与后台配置一致 否则无法收到推送消息 [JPUSHServicesetupWithOption:nilappKey:@"b731a00d2fdd9811cb8dd9f9"channel:@"APP STORE"apsForProduction:NO];
- (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken { //注册 DeviceToken [JPUSHServiceregisterDeviceToken:deviceToken]; }
//收到推送方法
//收到推送方法 - (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler: (void (^)(UIBackgroundFetchResult))completionHandler { NSLog(@"----------%@",userInfo); completionHandler(UIBackgroundFetchResultNewData); }
好了 我们来运行一下 如下图 选择允许
运行状态下 会走收到推送的方法 didReceiveRemoteNotification 退到后台 或者锁屏状态下 会已横幅的状态显示
我们先锁屏 看一看效果
打开极光推送网站 在控制台点击我们的应用 选择上方 推送
选择左侧发送通知 来测试一下
然后点击最下方 发送
至此 简单的推送功能已经完成 如果有问题欢迎提问 谢谢大家
相关文章推荐
- IOS开发之证书申请和实现App消息推送(最新)
- iOS开发之(APNS)远程推送实现代码 附证书与真机调试
- iOS 申请测试用的远程推送证书
- iOS中远程推送实现—在Apple的生产环境上测试Push Notifications功能
- 配置iOS证书 (3) --> 远程推送证书
- iOS APNS远程推送证书的申请和制作——详细解析
- ios证书配置管理;iOS生产证书、测试证书申请及管理;ios推送证书申请及配置;Xcode打包证书配置;多人开发证书共享方法
- iOS开发之(APNS)远程推送实现,证书与真机调试
- iOS应用开发10——推送通知证书申请及配置
- [IOS]用新申请的开发者账号获取开发证书/发布证书/推送证书
- 百度云推送的ios证书配置
- APNS远程推送证书的申请和制作——详细解析
- ios 推送证书的配置和制作
- APNS远程推送证书的申请和制作
- iOS 消息推送证书配置
- iOS 远程推送的详细配置
- IOS 腾讯信鸽远程推送 证书设置
- IOS 开发之推送 备注(证书的配置
- iOS 推送 证书申请 本地推送
- Qt for iOS:申请发布证书、App配置文件