应用通过审核以后,由开发者设置应用上架,但何时能在appstore搜索到该应用,这个时间不等,有时候15分钟左右有时候2个多小时,以前就是隔一段时间打开网页然后刷新一下,或者搜索一下,查看版本号,操作几次后明显感觉很崩溃了…
既然只是想知道应用的版本号,只要抓取页面,然后获取页面的版本号信息,就知道是否更新过来了,然后通过公司内部的OA接口,发送一条消息,告知所有相关的人员版本号已经更新了…
我用node.js实现的,代码大约在30行左右,下面是实现…
这里我借助了request这个模块 npm install request (查看模块详情>>)
1: var request = require('request')
2: var request = request.defaults({jar: true})
3:
4: function getAppVersion() {
5: request.get("http://itunes.apple.com/cn/app/xxx/idxxxx?mt=8&t=" + new Date().getTime(), function(error, response, body) {
6: if (/\<li\><span class=\"label\">版本\: <\/span>([^<]+)\<\/li\>/.test(body)) {
7: var currVer = RegExp["$1"];
8: console.log("当前版本:" + currVer);
9: if (currVer == "1.0.2") {
10: return sendOANotification(currVer);
11: }
12: }
13: setTimeout(getAppVersion, 3 * 1000);
14: })
15: }
16:
17: function sendOANotification(currVer) {
18: request.post('http://oa.xxx.net/login.php', {form:{UNAME:"meteoric_cry", PASSWORD:"xxxx"}}, function(error, respose, body) {
19: if (/location=\"general\"\;/.test(body)) {
20: var uid_str = ["meteoric"].join(",");//需要添加多个人,只需要在数组里添加uid
21: var url = "http://oa.xxx.net/general/reservation/sendsmsapi.php?uid='"+uid_str+"'&cont='AppStore Version:"+currVer+"'";
22:
23: request.get(url, function(error, response, body) {
24: //console.log(body)
25: console.log("OA消息发送成功");
26: })
27: } else {
28: console.log("登录OA失败");
29: }
30: })
31: }
32:
33: getAppVersion()
这个功能,如果想灵活一点,就让调用者传入参数:应用的下载地址、最新的版本号、刷新网页的频率、需要通知的人员列表。可以做成一个客户端应用(Exe程序),或者hta程序,或者其它任意不需要依赖其它人安装额外环境的程序