一.框架准备
1. 拖拽CoreJPush到您的项目中,并添加以下依赖框架
CFNetwork.framework
CoreFoundation.framework
CoreTelephony.framework
SystemConfiguration.framework
Security.framework
libz.tbd
2. 项目配置
(1) Search Paths 下的 User Header Search Paths 和 Library Search Paths为$(PROJECT_DIR)/CoreJPush/CoreJPush/Lib
。
(2) 选中Project-Target-Capabilities-Background Modes,勾选Remote Notifications。
(3) 请修改CoreJPush框架内Common文件夹下PushConfig.plist的Appkey为您的Appkey。.
(4) 如果你的工程需要支持小于7.0的iOS系统,请到Build Settings 关闭 bitCode 选项,否则将无法正常编译通过。
(5)允许XCode7支持Http传输方法
如果用的是Xcode7时,需要在App项目的plist手动加入以下key和值以支持http传输:
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
</dict>
二.集成
1.注册JPush(一句代码)
请删除您的AppDelgate中所有有关推送的方法,因为CoreJPush内部已经封装。
导入头文件#import "CoreJPush.h"
//注册JPush
[CoreJPush registerJPush:launchOptions];
2.突破空间限制,在您任意想得到推送数据的地方,三句代码搞定:
//1.添加一个监听者:此监听者是遵循了CoreJPushProtocol协议 [CoreJPush addJPushListener:self];
//2.你需要在合适的地方(比如dealloc),移除监听者
[CoreJPush removeJPushListener:self];
//3.您已经遵循了CoreJPushProtocol协议,直接在.m文件里面敲did ,Xcode会提示你如下方法: -(void)didReceiveRemoteNotification:(NSDictionary *)userInfo{ NSLog(@"ViewController: %@",userInfo); }
三. 定义标签与别名
注标签与别名为覆盖操作而非增量操作传nil为本次设置值忽略传为清除操作)注:标签与别名为覆盖操作,而非增量操作。传nil为本次设置值忽略,传""为清除操作。请注意返回block的res值为设置结果只有res--yes才表示标签与别名操作成功)请注意返回block的res值为设置结果,只有res = YES,才表示标签与别名操作成功。
1.登陆,设置别名:
在登陆.m文件里导入头文件#import "CoreJPush.h"
在登陆成功接口里写上:
[CoreJPush setTags:nil alias:@"登陆之后后台给你的别名" resBlock:^(BOOL res, NSSet *tags, NSString *alias) {
if(res){
NSLog(@"设置成功:%@,%@",@(res),tags,alias);
}else{
NSLog(@"设置失败");
}
}];
2.退出登陆,清空别名
[CoreJPush setTags:nil alias:@"" resBlock:^(BOOL res, NSSet *tags, NSString *alias) {
}];
四.点击推送消息跳转进App某一个界面
在CoreJPush.m文件里:
想要跳转到的界面加上:
在极光推送的时候选择:
五. Badge管理
框架内部已经完成封装,你无需管理。
(有时候不点击推送消息,或者不小心把推送消息删除了,App小红点一直不会消失,那么在Appdelegate.m里加上)
//清除badge
[UIApplication sharedApplication].applicationIconBadgeNumber = 0;
六. 系统通知栏提示信息管理
框架内部已经完成封装,你无需管理。
七. Swift支持
支持swift只需做一件事情就是在框架的common文件夹中的appdelegatejpushh中引入yourappname-swifth即可)支持Swift只需做一件事情,就是在框架的Common文件夹中的AppDelegate+JPush.h中引入YourAppName-Swift.h即可。
(此封装项目非原创)
CoreJPush下载链接:https://github.com/LSK1994/CoreJPush
网友评论