1.跟普通的app一样需要去苹果官网申请开发证书和发布证书、appid、添加设备信息
最新的 iOS 申请证书与发布流程(2016.12) - _失控的疯子 - 博客园
2.需要在苹果官网上申请推送的测试证书和推送的发布证书
iOS手把手教你生成推送证书(测试和生产) -
3.需要去极光推送平台去申请app的推送
1.首先需要在极光推送注册一个账户,然后在里面添加创建应用
2.推送的配置
生产证书和开发证书是第二个步骤里面到处的.p12文件,选择文件上传到此处就可了,有密码就填写密码,没有密码就不用填写,最后是否将生产证书用于开发环境,选择否,点击保存就完成了推送的配置。
到这一步,证书,推送证书,极光官网的推送设置都完成了,接下来就是cordova项目添加极光推送插件了。当然在此之前你需要在cordova项目中添加平台,然后添加极光推送插件,cd 到cordova项目的根目录
添加插件命令没写全,因为我已经加过了,就不写了,具体命令是
cordova plugin add jpush-phonegap-plugin --variable APP_KEY=your_jpush_appkey
这里把app_key换成你在极光推送官网里面生成的appkey就可以了,极光推送是支持iOS和andriod平台的,所以如果andriod和iOS开发人员同时集成插件的话,最后有一个人提交到服务器上面就行,以上cordova ios 平台就添加上了极光推送的插件,接下来就需要在index.html入口文件里面去进行推送的初始化了和一些相关的配置
Index.html添加极光推送的初始化
推送的初始化代码:
var onDeviceReady = function() {
initiateUI();
};
var onOpenNotification = function(event) {
try {
var alertContent;
if(device.platform == "Android") {
alertContent = event.alert;
} else {
alertContent = event.aps.alert;
}
} catch(exception) {
console.log("JPushPlugin:onOpenNotification" + exception);
}
};
var initiateUI = function() {
try {
window.JPush.init();
window.JPush.setDebugMode(true);
window.setTimeout(getRegistrationID, 1000);
if(device.platform != "Android") {
window.JPush.setApplicationIconBadgeNumber(0);
}
} catch(exception) {
console.log(exception);
}
};
document.addEventListener("deviceready", onDeviceReady, false);
document.addEventListener("jpush.openNotification", onOpenNotification, false);
接下来就开始在xcode里面做一些设置
APP_KEY如果像我上面写的那样在添加插件的时候就已经设置了APP_KEY,就不需要在xcode里面去进行设置了,如果刚开始添加推送插件的时候没写的话,是需要添加的
打开推送开关
进行到这一步,打开推送开关,应该会在工程里面自动创建一个以工程命名的推送环境文件,工程名.entitlements,如果没有被创建的话,可以自行在别的工程里面添加到本工程一个,然后设置一下文件的路径就可以了
最后,请注意,苹果开发者中心里的appid 和极光推送里面的应用ID,还有本工程里面的bundle id 必须是一致的,不然推送会接收不到的,集成结束之后,可以去极光官网上面发送一个推送测试一下,推送集成成功了之后就会收到推送了
关于证书生成和推送证书的创建,这里参考添加了别的开发者写的文章
苹果测试证书,开发证书链接参考:_失控的疯子作者,cnblog博客
推送测试证书、发布证书创建,链接参考:涂川作者,