史上全详细制作远程推送证书以及用极光进行远程推送教程
来源:互联网 发布:c 把数据存储硬盘 编辑:程序博客网 时间:2024/05/22 09:50
史上全详细制作远程推送证书以及用极光进行远程推送教程
昨天公司项目要加入远程推送功能,自己做显然会很麻烦,所以用了极光的远程推送,下面我会讲如何制作推送证书并使用极光推送进行远程推送.
先讲讲怎么下载推送证书吧(前面的很简单要是知道的可以直接往下滑,简书竟然不能页内跳转...)
网上下载推送证书的教程一般都是几年前的,现在下载推送证书很简单
- 首先进入苹果开发者中心
- 点击Member Center
- 登录后点击Certificates,Identifiers & Profiles
- 任意点击一个
- 创建App ID
- App ID的名字可以随便取,Bundle ID一定要注意,要推送的App项目中的Bundle ID一定要是这个Bundle ID
App Services可以现在勾上Push Notifications,也可以后面再改,然后点继续
- 提交(我之前勾选了Push Notifications,所有它现在是橙色的,不然应该是灰色)
- 出来后点击你刚创建的App ID,然后点Edit
- 创建开发环境和生产环境的证书
这里讲一下什么是开发环境和生产环境:
你用Xcode编译安装的就是开发环境,用二维码或者App Store下载的就是生产环境.
这里点继续后会发现需要你上传一个证书
现在我们来制作这个证书
- 打开MAC自带的钥匙串访问(Launchpad->其他->钥匙串访问)
- 点开后左上角打开证书助手,从证书颁发机构请求证书
- 注意一定要存储到磁盘
- 然后存储就行了,存在哪都可以
把刚才存储的证书上传了
下载下来,点击Done,又回跳回到开始的界面,然后还是选择你创建的App ID然后Edit,开发环境和生产环境推送证书的创建流程是一样的,自己按着步骤就能把证书全部创建并下载成功.
- 这时候Push Notifications应该是绿的了
打开钥匙串访问,你会发现你多了这两个证书
右键分别导出它们
- 设置密码
- 导出成功后,你就能看到它们了,记得命好名(最好用英文)
推送证书的制作到这就结束了,下面讲怎么使用极光推送进行远程推送
怎么使用极光推送进行远程推送
- 在极光官网注册极光推送
- 创建一个应用
在应用配置中导入两个证书(我这是已经验证了的,不然就是让你上传证书的按钮)
Bundle ID是导入证书后自动出现的,证书最好一个一个上传不然可能会出现验证失败的问题.然后下载SDK
- 把SDK中的Lib文件夹导入你的项目中,记得勾选Copy
- 在Build Phases中导入以下库
修改Capabilities
- 打开远程推送
- 打开Background Modes
- 打开远程推送
修改Bundle ID 以及选择Team
下面便是代码部分
- 在
Appdelegate.m
中导入头文件#import "JPUSHService.h"
在
didFinishLaunchingWithOptions
方法中写入以下代码,有的地方要按你自己的信息填// Requiredif ([[UIDevice currentDevice].systemVersion floatValue] >= 8.0) { //可以添加自定义categories [JPUSHService registerForRemoteNotificationTypes:(UIUserNotificationTypeBadge |UIUserNotificationTypeSound |UIUserNotificationTypeAlert)categories:nil];} else { //categories 必须为nil [JPUSHService registerForRemoteNotificationTypes:(UIRemoteNotificationTypeBadge |UIRemoteNotificationTypeSound |UIRemoteNotificationTypeAlert)categories:nil];} [JPUSHService setupWithOption:launchOptions appKey:你的appKey(字符串),在极光的应用详情中可以看到" channel:@""(这个不填就行) apsForProduction:这个值生产环境为YES,开发环境为NO(BOOL值)];
- 创建
-(void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken
方法中注册设备\(去掉这个\)- (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken {//这个方法是设置别名和tag 可省// [JPUSHService setTags:nil alias:@"WzxJiang" fetchCompletionHandle:^(int iResCode, NSSet *iTags, NSString *iAlias) {// NSLog(@"rescode: %d, \ntags: %@, \nalias: %@\n", iResCode, iTags , iAlias);// }];// Required[JPUSHService registerDeviceToken:deviceToken];}
- 创建
- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler
:App在后台时收到推送时的处理\(去掉这个\)- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler {//iOS 7及之后才能用,现在没人适配iOS6了吧...// IOS 7 Support Required [JPUSHService handleRemoteNotification:userInfo];completionHandler(UIBackgroundFetchResultNewData);}
- 在
applicationWillEnterForeground
方法(App即将进入前台)中将小红点清除\(去掉这个\)- (void)applicationWillEnterForeground:(UIApplication *)application {NSLog(@"进入前台"); [UIApplication sharedApplication].applicationIconBadgeNumber = 0;}
- 创建
didFailToRegisterForRemoteNotificationsWithError
方法,处理接收推送错误的情况(一般不会...)\(去掉这个\)- (void)application:(UIApplication *)application didFailToRegisterForRemoteNotificationsWithError:(NSError *)error {//OptionalNSLog(@"did Fail To Register For Remote Notifications With Error: %@", error);}
- 在
- 代码都已经弄好了,现在推送以下,(注意只能是真机调试)
- 在极光上点击发送通知,注意是开发环境
- 然后你就能收到推送了
- 在极光上点击发送通知,注意是开发环境
0 0
- 史上全详细制作远程推送证书以及用极光进行远程推送教程
- 史上全详细制作远程推送证书以及用极光进行远程推送教程
- 史上全详细制作远程推送证书以及用极光进行远程推送教程
- 极光远程推送
- APNS远程推送详细教程
- 苹果推送--APNS远程推送证书的申请和制作——详细解析
- IOS 远程推送证书系列一:制作
- 远程推送,集成极光的SDK,证书制造
- 远程推送相关证书
- iOS10 极光推送(远程) 小结
- [证书]3、APNS远程推送证书的申请和制作——详细解析
- iOS远程推送之使用极光推送
- 极光推送和苹果远程推送
- IOS开发使用极光平台进行远程推送
- APNS远程推送证书的申请和制作——详细解析
- iOS APNS远程推送证书的申请和制作——详细解析
- APNS远程推送证书的申请和制作——详细解析
- APNS远程推送证书的申请和制作——详细解析
- 三和 韓長庚 先生 墓所探訪
- 消息队列
- Eclipse JDBC连接Hive 两种方法 hiveserver hiveserver2
- 关于JavaScript命名空间的一些心得
- 摩斯密码
- 史上全详细制作远程推送证书以及用极光进行远程推送教程
- 简单工厂,工厂方法
- java bridge
- shell脚本实例
- iOS内存管理方法
- ios md5加密大小写
- TREEset的模板类
- C++STL vector常见用法
- CTF——被改错的密码