iOS-利用JavaPNS实现推送

JavaPNS是一个封装了iOS服务端配置的库,可以用于给iOS手机发送自定义推送。

下面是使用步骤:

导出证书

打开OSX系统的Keychain Access,找到Login & Certificates面板下,用于开发的开发者证书,并导出为p12文件,并设置密码。这里假设导出的证书名为”pushCer.p12”。

下载并配置

下载JavaPNS.jar,共包含三个jar包,将其添加到Build Path中。

添加证书

将pushCer.p12文件添加到项目的根目录下,如图:

JavaPNS-PushCer

获取DeviceToken

iOS项目的AppDelegate.m中定义了可以获取设备DeviceToken的方法,用于唯一识别设备。

1
2
3
4
- (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken {
deviceTokenString = [[[deviceToken description] stringByTrimmingCharactersInSet:[NSCharacterSet characterSetWithCharactersInString:@"<>"]] stringByReplacingOccurrencesOfString:@" " withString:@""];
NSLog(@"DeviceToken:%@", deviceTokenString);
}

调用测试

1
2
3
4
5
6
7
8
9
10
11
import javapns.Push;

public class TestJPNS {
public static void main(String[] args) {
try{
Push.alert(推送内容, "pushCer.p12", 密码, 是否Release证书, DeviceToken);
}catch(Exception e){
e.printStackTrace();
}
}
}

运行后,iOS设备可立即收到推送。