Compare commits

...

16 Commits

Author SHA1 Message Date
Hevin d855a07271 Merge branch 'dev' 2017-06-29 10:55:27 +08:00
Hevin c1e70448b1 Update plugin version to 3.1.9 2017-06-29 10:55:07 +08:00
Hevin a9f6adb7af Merge branch 'master' into dev 2017-06-29 10:04:08 +08:00
Hevin 847d94c080 Merge pull request #248 from snipking/master
fix #245
2017-06-29 09:51:55 +08:00
DerekChia jingqiang.jia@hand-china.com c959fdddeb add: check does ios.release.developmentTeam exist in build.json
fix #245
2017-06-28 16:50:26 +08:00
DerekChia jingqiang.jia@hand-china.com 4285170332 Merge remote-tracking branch 'jpush/master' 2017-06-28 16:50:04 +08:00
Hevin 86f07c9729 Merge branch 'dev' 2017-06-28 10:00:16 +08:00
Hevin e3d8d69147 Fix spelling error. 2017-06-28 09:59:57 +08:00
Hevin 8970e44dc1 Merge branch 'dev' 2017-06-27 10:23:48 +08:00
Hevin 7f3682e2a8 fix #244 2017-06-27 10:23:33 +08:00
Hevin dd716aaca7 Merge branch 'master' into dev 2017-06-23 16:30:32 +08:00
Hevin f5394d6d01 Merge pull request #243 from snipking/master
fix #242
2017-06-23 16:29:09 +08:00
DerekChia jingqiang.jia@hand-china.com 2fc0bc9213 Merge remote-tracking branch 'jpush/master' 2017-06-23 14:33:15 +08:00
shuto 4bc2fe3dc1 fix #242 2017-06-23 14:31:46 +08:00
DerekChia jingqiang.jia@hand-china.com e20a10588f Merge remote-tracking branch 'jpush/master' 2017-06-06 13:57:52 +08:00
DerekChia jingqiang.jia@hand-china.com eefc2e13cb fix typo 2017-06-06 13:57:38 +08:00
6 changed files with 93 additions and 85 deletions
+2 -2
View File
@@ -2,7 +2,7 @@
[![Build Status](https://travis-ci.org/jpush/jpush-phonegap-plugin.svg?branch=master)](https://travis-ci.org/jpush/jpush-phonegap-plugin) [![Build Status](https://travis-ci.org/jpush/jpush-phonegap-plugin.svg?branch=master)](https://travis-ci.org/jpush/jpush-phonegap-plugin)
[![QQ Group](https://img.shields.io/badge/QQ%20Group-413602425-red.svg)]() [![QQ Group](https://img.shields.io/badge/QQ%20Group-413602425-red.svg)]()
[![release](https://img.shields.io/badge/release-3.1.8-blue.svg)](https://github.com/jpush/jpush-phonegap-plugin/releases) [![release](https://img.shields.io/badge/release-3.1.9-blue.svg)](https://github.com/jpush/jpush-phonegap-plugin/releases)
[![platforms](https://img.shields.io/badge/platforms-iOS%7CAndroid-lightgrey.svg)](https://github.com/jpush/jpush-phonegap-plugin) [![platforms](https://img.shields.io/badge/platforms-iOS%7CAndroid-lightgrey.svg)](https://github.com/jpush/jpush-phonegap-plugin)
[![weibo](https://img.shields.io/badge/weibo-JPush-blue.svg)](http://weibo.com/jpush?refer_flag=1001030101_&is_all=1) [![weibo](https://img.shields.io/badge/weibo-JPush-blue.svg)](http://weibo.com/jpush?refer_flag=1001030101_&is_all=1)
@@ -103,7 +103,7 @@ cordova platform update ios
## Support ## Support
- QQ 群:413602425 - QQ 群:413602425
- [JPush 官网文档](https://docs.jiguang.cn/jpush/guideline/intro/) - [JPush 官网文档](https://docs.jiguang.cn/jpush/guideline/intro/)
- [极光社区](http://community.jiguang.cn/) - [极光社区](http://community.jiguang.cn/)
## Contribute ## Contribute
Please contribute! [Look at the issues](https://github.com/jpush/jpush-phonegap-plugin/issues). Please contribute! [Look at the issues](https://github.com/jpush/jpush-phonegap-plugin/issues).
+3 -8
View File
@@ -21,7 +21,6 @@
- [监听事件统一说明](#监听事件统一说明) - [监听事件统一说明](#监听事件统一说明)
## 延迟注册和启动推送通知服务 ## 延迟注册和启动推送通知服务
本插件默认在 App 启动完成之后,立即「注册苹果通知服务」+「启动 JPush SDK」,其中: 本插件默认在 App 启动完成之后,立即「注册苹果通知服务」+「启动 JPush SDK」,其中:
@@ -45,7 +44,6 @@ window.plugins.jPushPlugin.startJPushSDK()
``` ```
## 开始与停止推送服务 ## 开始与停止推送服务
### API - init ### API - init
@@ -87,8 +85,6 @@ window.plugins.jPushPlugin.init()
window.plugins.jPushPlugin.resumePush() window.plugins.jPushPlugin.resumePush()
``` ```
### API - isPushStopped ### API - isPushStopped
iOS平台,检查推送服务是否停止。 iOS平台,检查推送服务是否停止。
@@ -406,7 +402,7 @@ JPush 封装 badge 功能,允许应用上传 badge 值至 JPush 服务器,
```js ```js
window.plugins.jPushPlugin.prototype.setBadge(value) window.plugins.jPushPlugin.prototype.setBadge(value)
window.plugins.jPushPlugin.prototype.reSetBadge() window.plugins.jPushPlugin.prototype.resetBadge()
``` ```
resetBadge 相当于 setBadge(0)。 resetBadge 相当于 setBadge(0)。
@@ -423,7 +419,7 @@ value 取值范围:[0,99999]。
```js ```js
window.plugins.jPushPlugin.setBadge(5) window.plugins.jPushPlugin.setBadge(5)
window.plugins.jPushPlugin.reSetBadge() window.plugins.jPushPlugin.resetBadge()
``` ```
### API - setApplicationIconBadgeNumber ### API - setApplicationIconBadgeNumber
@@ -438,7 +434,7 @@ window.plugins.jPushPlugin.prototype.setApplicationIconBadgeNumber(badge)
#### 参数说明 #### 参数说明
- badge: 整,例如 0,1,2(当 badge 为 0 时,角标被清除)。 - badge: 整,例如 0,1,2(当 badge 为 0 时,角标被清除)。
#### 代码示例 #### 代码示例
@@ -882,4 +878,3 @@ window.plugins.jPushPlugin.prototype.getUserNotificationSettings(callback)
##### jpush.receiveLocalNotification ##### jpush.receiveLocalNotification
> [iOS 10 before 收到本地通知](#ios-10-before-收到本地通知) > [iOS 10 before 收到本地通知](#ios-10-before-收到本地通知)
+57 -49
View File
@@ -6,66 +6,74 @@ const fs = require('fs');
const path = require('path'); const path = require('path');
module.exports.addAPNSinEntitlements = (entitlementPath, isProduction) => { module.exports.addAPNSinEntitlements = (entitlementPath, isProduction) => {
fs.readFile(entitlementPath, "utf8", function(err, data) { if( fs.existsSync(entitlementPath) ) {
if (err) { fs.readFile(entitlementPath, "utf8", function(err, data) {
throw err;
}
console.log("Reading entitlements file asynchronously");
let toInsert = '<key>aps-environment</key>\n' +
'\t\t<string>development</string>';
if(isProduction) {
toInsert = '<key>aps-environment</key>\n' +
'\t\t<string>production</string>';
}
let re1 = new RegExp('<key>aps-environment<\/key>(.|[\r\n])*<string>.*<\/string>');
let matched = data.match(re1);
let result;
if (matched === null) {
if(data.match(/<\/dict>/g)) {
result = data.replace(/<\/dict>/, '\t' + toInsert + '\n\t</dict>');
} else if(data.match(/<dict\/>/g)) {
result = data.replace(/<dict\/>/, '\t<dict>\n\t\t' + toInsert + '\n\t</dict>');
}
} else {
result = data.replace(re1, toInsert);
}
// write result to entitlements file
fs.writeFile(entitlementPath, result, {"encoding": 'utf8'}, function(err) {
if (err) { if (err) {
throw err; throw err;
} }
console.log(entitlementPath + " written successfully");
console.log("Reading entitlements file asynchronously");
let toInsert = '<key>aps-environment</key>\n' +
'\t\t<string>development</string>';
if(isProduction) {
toInsert = '<key>aps-environment</key>\n' +
'\t\t<string>production</string>';
}
let re1 = new RegExp('<key>aps-environment<\/key>(.|[\r\n])*<string>.*<\/string>');
let matched = data.match(re1);
let result;
if (matched === null) {
if(data.match(/<\/dict>/g)) {
result = data.replace(/<\/dict>/, '\t' + toInsert + '\n\t</dict>');
} else if(data.match(/<dict\/>/g)) {
result = data.replace(/<dict\/>/, '\t<dict>\n\t\t' + toInsert + '\n\t</dict>');
}
} else {
result = data.replace(re1, toInsert);
}
// write result to entitlements file
fs.writeFile(entitlementPath, result, {"encoding": 'utf8'}, function(err) {
if (err) {
throw err;
}
console.log(entitlementPath + " written successfully");
});
}); });
}); } else {
console.log("Entitlement File '" + entitlementPath + "' not found. Make sure your ios platform upper than 4.3.0");
}
} }
module.exports.removeAPNSinEntitlements = (entitlementPath) => { module.exports.removeAPNSinEntitlements = (entitlementPath) => {
fs.readFile(entitlementPath, "utf8", function(err, data) { if( fs.existsSync(entitlementPath) ) {
if (err) { fs.readFile(entitlementPath, "utf8", function(err, data) {
throw err;
}
console.log("Reading entitlements file asynchronously");
let re1 = new RegExp('<key>aps-environment<\/key>(.|[\r\n])*<string>.*<\/string>');
let matched = data.match(re1);
let result;
if (matched != null) {
result = data.replace(re1, "");
}
// write result to entitlements file
fs.writeFile(entitlementPath, result, {"encoding": 'utf8'}, function(err) {
if (err) { if (err) {
throw err; throw err;
} }
console.log(entitlementPath + " written successfully");
console.log("Reading entitlements file asynchronously");
let re1 = new RegExp('<key>aps-environment<\/key>(.|[\r\n])*<string>.*<\/string>');
let matched = data.match(re1);
let result;
if (matched != null) {
result = data.replace(re1, "");
}
// write result to entitlements file
fs.writeFile(entitlementPath, result, {"encoding": 'utf8'}, function(err) {
if (err) {
throw err;
}
console.log(entitlementPath + " written successfully");
});
}); });
}); } else {
console.log("Entitlement File '" + entitlementPath + "' not found. Make sure your ios platform upper than 4.3.0");
}
} }
module.exports.getXcodeProjName = (searchPath) => { module.exports.getXcodeProjName = (searchPath) => {
+29 -24
View File
@@ -139,29 +139,34 @@ let enablePushNotificationForXCode = (entitlementsPath, pbxprojPath, cordovaBuil
}); });
} }
let basePath = './platforms/ios/'; module.exports = (context) => {
let buildType = 'dev'; let basePath = './platforms/ios/';
let xcodeprojName = commonFuncs.getXcodeProjName(basePath); let buildType = 'dev';
let pbxprojPath = basePath + xcodeprojName + '.xcodeproj/project.pbxproj'; let xcodeprojName = commonFuncs.getXcodeProjName(basePath);
let entitlementsPath = basePath + xcodeprojName + '/' + xcodeprojName + '.entitlements'; let pbxprojPath = basePath + xcodeprojName + '.xcodeproj/project.pbxproj';
let entitlementsPath = basePath + xcodeprojName + '/' + xcodeprojName + '.entitlements';
let cordovaBuildConfigPath = './build.json' let cordovaBuildConfigPath = './build.json'
let cordovaBuildConfig = null; let cordovaBuildConfig = null;
let willEnablePushNotificationForXCode = true; let willEnablePushNotificationForXCode = true;
try { // try to read ios developmentTeam from build.json try { // try to read ios developmentTeam from build.json
cordovaBuildConfig = JSON.parse(fs.readFileSync(cordovaBuildConfigPath, "utf8")); cordovaBuildConfig = JSON.parse(fs.readFileSync(cordovaBuildConfigPath, "utf8"));
} catch(e) { if(cordovaBuildConfig.ios.release.developmentTeam === null && cordovaBuildConfig.ios.release.developmentTeam === undefined) {
console.log("Do not detected 'build.json' to get ios developent team. \n" + throw 'no valid developmentTeam found in build.json';
"Will not enable XCode Push Notification Capability. \n" + }
"Will only enable Push Notification for CI by add config to '" + basePath + xcodeprojName + "/Entitlements-Debug.plist' and '" + basePath + xcodeprojName + "/Entitlements-Release.plist' \n" + } catch(e) {
"Please add 'build.json' to cordova project root folder to make after hook fullly functional. \n" + console.log("Do not detected 'build.json' or ios.release.developmentTeam not avaliable in 'build.json' \n" +
"Reference [1]https://cordova.apache.org/docs/en/latest/reference/cordova-cli/#cordova-build-command \n" + "Will not enable XCode Push Notification Capability. \n" +
"Reference [2]https://cordova.apache.org/docs/en/latest/guide/platforms/ios/#signing-an-app"); "Will only enable Push Notification for CI by add config to '" + basePath + xcodeprojName + "/Entitlements-Debug.plist' and '" + basePath + xcodeprojName + "/Entitlements-Release.plist' \n" +
willEnablePushNotificationForXCode = false; "Please add 'build.json' to cordova project root folder to make after hook fully functional. \n" +
} "Reference [1]https://cordova.apache.org/docs/en/latest/reference/cordova-cli/#cordova-build-command \n" +
"Reference [2]https://cordova.apache.org/docs/en/latest/guide/platforms/ios/#signing-an-app");
enablePushNotificationForCI(basePath, xcodeprojName); willEnablePushNotificationForXCode = false;
}
if(willEnablePushNotificationForXCode) {
enablePushNotificationForXCode(entitlementsPath, pbxprojPath, cordovaBuildConfig); enablePushNotificationForCI(basePath, xcodeprojName);
if(willEnablePushNotificationForXCode) {
enablePushNotificationForXCode(entitlementsPath, pbxprojPath, cordovaBuildConfig);
}
} }
+1 -1
View File
@@ -1,6 +1,6 @@
{ {
"name": "jpush-phonegap-plugin", "name": "jpush-phonegap-plugin",
"version": "3.1.8", "version": "3.1.9",
"description": "JPush for cordova plugin", "description": "JPush for cordova plugin",
"cordova": { "cordova": {
"id": "jpush-phonegap-plugin", "id": "jpush-phonegap-plugin",
+1 -1
View File
@@ -2,7 +2,7 @@
<plugin xmlns="http://apache.org/cordova/ns/plugins/1.0" <plugin xmlns="http://apache.org/cordova/ns/plugins/1.0"
xmlns:android="http://schemas.android.com/apk/res/android" xmlns:android="http://schemas.android.com/apk/res/android"
id="jpush-phonegap-plugin" id="jpush-phonegap-plugin"
version="3.1.8"> version="3.1.9">
<name>JPush</name> <name>JPush</name>
<description>JPush for cordova plugin</description> <description>JPush for cordova plugin</description>