1极光的主要作用就是替公司的服务器管理用户的deviceToken,当公司需要推送消息的时候,公司后台服务器将极光管理的devicetoken和需要推送的内容发送给苹果后台服务器;
2https://www.jpush.cn,极光的官方网站,注册用户,新建应用(新建应用的时候需要两个p12文件),下载极光SDK
3两个p12文件的生成步骤
上一篇文章中生成了一个开发的push证书,一个生产的push证书,并且分别被添加到了钥匙串中,打开钥匙串,找到两个证书,右击导出,文件格式选择“个人信息交换(p12)”
4将第一步下载下来的SDK中的lib拖入到工程中,选择工程,选择Build Phases ,选择Link Binary With Libraries 将如下框架加入“CFNetwork.framework”
“CoreFoundation.framework”
“CoreTelephony.framework”
“SystemConfiguration.framework”
“CoreGraphics.framework”
“Foundation.framework”
“UIKit.framework”
“Security.framework”
“libz.dylib”其中
5在工程中新建一个plist文件,command + N —>iOS Resource —>Property List(*切记plist文件名必须是PushConfig.plist*),plist文件中创建三个键值对
“APS_FOR_PRODUCTION” = “0”;
“CHANNEL” = “Publish channel”;
“APP_KEY” = “**”;(对应的值为第一步创建应用后生成的APPKey)
6在Appdelegate.m中引入APService.h将下列方法中的代码对应写入相应的方法
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease];
self.window.backgroundColor = [UIColor whiteColor];
[self.window makeKeyAndVisible];
// Required
if ([[UIDevice currentDevice].systemVersion floatValue] >= 8.0) {
//可以添加自定义categories
[APService registerForRemoteNotificationTypes:(UIUserNotificationTypeBadge |
UIUserNotificationTypeSound |
UIUserNotificationTypeAlert)
categories:nil];
} else {
//categories 必须为nil
[APService registerForRemoteNotificationTypes:(UIRemoteNotificationTypeBadge |
UIRemoteNotificationTypeSound |
UIRemoteNotificationTypeAlert)
categories:nil];
}
// Required
[APService setupWithOption:launchOptions];
return YES;
}
(void)application:(UIApplication )application didRegisterForRemoteNotificationsWithDeviceToken:(NSData )deviceToken {
// Required
[APService registerDeviceToken:deviceToken];
}(void)application:(UIApplication )application didReceiveRemoteNotification:(NSDictionary )userInfo {
// Required
[APService handleRemoteNotification:userInfo];
}(void)application:(UIApplication )application didReceiveRemoteNotification:(NSDictionary )userInfo fetchCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler {
// IOS 7 Support Required
[APService handleRemoteNotification:userInfo];
completionHandler(UIBackgroundFetchResultNewData);
}
6上极光官方网站,选第一步创建的应用,点击推送,发送通知,将要推送的内容输入“推送内容”的文本框中,如果自己调试的话,推送对象选择iOS开发环境,如果是推送给客户选择iOS生产环境然后发送,
7完成!