大师网-带你快速走向大师之路 解决你在学习过程中的疑惑,带你快速进入大师之门。节省时间,提升效率

SWIFT集成极光JPUSH推送

今天记录一下用swift集成极光推送

一、首先到极光推送的官网下载iOS对应的SDK包 SDK下载地址,地址自己搜索

二、第二步在极光的官网创建账号配置对应的应用信息,推送证书的这些就不介绍了很基本,官网的很详细 配置应用地址

三、第三创建一个工程,导入下载的SDK包,并且导入依赖的库文件,编译看有没有错误提示



这里面的jpush-ios-2.1.8.a是极光的官方支持文件,其他为测试极光是需要的辅助库,如果没有这三个库是会报错的,至少我缺少这三个库的时候报错了。

四、配置JPUSH相关桥接文件,至于如何达成OC和SWIFT的桥接此处不介绍

五、配置工程的相关信息

在INFO.PLIST中添加



六、开始代码编写,集成Jpush

AppDelegate.swift中编写以下代码:

funcapplication(application:UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject:AnyObject]?) ->Bool{

//极光推送

//可以添加自定义categories

JPUSHService.registerForRemoteNotificationTypes((UIUserNotificationType.Badge.union(UIUserNotificationType.Sound).union(UIUserNotificationType.Alert)).rawValue, categories:nil)

//JPUSHService.setupWithOption(launchOptions)

JPUSHService.setupWithOption(launchOptions, appKey:"b00627a8bbde7c86c77b5867", channel:"", apsForProduction:true)

returntrue

}

funcapplication(application:UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken:NSData) {

JPUSHService.registerDeviceToken(deviceToken)

}

funcapplication(application:UIApplication, didReceiveRemoteNotification userInfo: [NSObject:AnyObject]) {

print("接到通知")

JPUSHService.handleRemoteNotification(userInfo)

application.applicationIconBadgeNumber=0

JPUSHService.resetBadge()

if(application.applicationState== .Active) {

//在前台活动do nothing

//let alertView = UIAlertView(title: "消息", message: "您有一条新的消息", delegate: self, cancelButtonTitle: "取消", otherButtonTitles: "查看")

//alertView.show()

}else{

//后台或者没有活动

}

}

七、后台测试,来到极光推送的应用后台测试,极光后台提供发送推送消息的服务。