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完成!