今天记录一下用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{
//后台或者没有活动
}
}
七、后台测试,来到极光推送的应用后台测试,极光后台提供发送推送消息的服务。