应用通过审核以后,由开发者设置应用上架,但何时能在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程序,或者其它任意不需要依赖其它人安装额外环境的程序

获取AppStore上架后的应用版本号的更多相关文章

  1. 【hta版】获取AppStore上架后的应用版本号

    之前写过一篇文章:获取AppStore上架后的应用版本号,那一篇文章使用node.js实现,存在的问题就是如果在没有安装node.js运行环境下是无法运行的,而且该程序依赖request模块,为了方便 ...

  2. ios appstore 上架应用被拒绝原因

    ios appstore 上架应用被拒绝原因 应用程序崩溃 界面布局有明显错误挂羊头卖狗头的应用包括未公开的或隐藏功能的使用私有API应用程序读取或写入数据超出其指定的容器区域以任何方式下载代码的应用 ...

  3. SVN使用_获取某版本后改动的文件列表

    本章将讲解如何通过svn命令获取某版本后改动的所有文件 一键操作,告别svn log的繁杂对比工作. 1:安装SVN命令行工具Subversion(不是TortoiseSVN) 下载Subversio ...

  4. IT连创业系列:说说苹果商店AppStore上架App应用前后遇到的那些神坑

    前言: IT连创业的这个系列,又隔空了一个多月了. 不知道为什么,最近写文的冲动感下降了很多,如果不是因为特别忙,大概就因为上了年纪的原因了. 群里关注我创业的朋友,一直都在问,啥时候有新的文章讲述创 ...

  5. AppUtils【获取手机的信息和应用版本号、安装apk】

    版权声明:本文为HaiyuKing原创文章,转载请注明出处! 前言 一个获取设备的系统版本号.设备的型号.应用版本号code值.应用版本号name值.包名.是否更新.安装apk的工具类. 其实这个工具 ...

  6. 引用js或css后加?v= 版本号的用法

    <span style="font-size:14px;">css和js带参数(形如.css?v=与.js?v= 或 .css?version=与.js?version ...

  7. 获取元素计算后的css样式封装

    获取元素计算后的css样式封装: function getCss(obj,attribute) { if(obj.currentStyle) { return obj.currentStyle[att ...

  8. 使用curl获取Location:重定向后url

    在php获取http头部信息上,php有个自带的函数get_headers(),我以前也是用这个的,听说效率在win上不咋地,再加上最近研究百度url无果,写了cURL获取重定向url的php代码来折 ...

  9. C# 上传RAR文件 解压 获取解压后的文件名称

    此方法适用于C盘windows文件夹中有WinRAR.exe文件 if (fileExt.ToUpper() == ".RAR") { string zpath = Server. ...

随机推荐

  1. EntityFrameWork 图解

  2. Db2与Oracle的区别

    这个部分是自己随便整理下. 在工作上需要,公司需要DB2兼容Oracle. 不懂DB2与Oracle的细节,这里努力整理,以后精通了再回来重新修改. https://www.2cto.com/data ...

  3. PHP中使用OpenSSL生成RSA公钥私钥及进行加密解密示例(非对称加密)

    php服务端与客户端交互.提供开放api时,通常需要对敏感的部分api数据传输进行数据加密,这时候rsa非对称加密就能派上用处了,下面通过一个例子来说明如何用php来实现数据的加密解密 先了解一下关于 ...

  4. 001.DHCP简介

    一 DHCP概念 DHCP指动态主机配置协议,是一个局域网的网络协议,使用UDP协议工作. 二 应用 为大量客户机自动分配地址,提供集中管理 减轻管理和维护成本,提高网络配置效率 三 分配的主要信息 ...

  5. Oracle数据库游标,序列,存储过程,存储函数,触发器

    游标的概念:     游标是SQL的一个内存工作区,由系统或用户以变量的形式定义.游标的作用就是用于临时存储从数据库中提取的数据块.在某些情况下,需要把数据从存放在磁盘的表中调到计算机内存中进行处理, ...

  6. BZOJ.3624.[APIO2008]免费道路(Kruskal)

    题目链接 我们发现有些白边是必须加的,有些是多余的. 那么我们先把所有黑边加进去,然后把必须要加的白边找出来. 然后Kruskal,把必须要加的白边先加进去,小于K的话再加能加的白边.然后加黑边. 要 ...

  7. 【dfs】BZOJ1703-[Usaco2007 Mar]Ranking the Cows 奶牛排名

    [题目大意] 农夫约翰有N(1≤N≤1000)头奶牛,每一头奶牛都有一个确定的独一无二的正整数产奶率.约翰想要让这些奶牛按产奶率从高到低排序,约翰已经比较了M(1≤M≤10000)对奶牛的产奶率,但他 ...

  8. dubbox REST服务使用fastjson替换jackson

    上一节讲解了resteasy如何使用fastjson来替换默认的jackson,虽然dubbox内部采用的就是resteasy,但是大多数情况下,dubbox服务是一个独立的app,并不需要以war包 ...

  9. 关于Android中传递数据的一些讨论

    在Android中编写过程序的开发人员都知道.在Activity.Service等组件之间传递数据(尤其是复杂类型的数据)很不方便.一般可以使用Intent来传递可序列化或简单类型的数据.看下面的代码 ...

  10. Renesas M16C/6X -- Simple PWM Signal Generation Using DMA

    1. Requirements To generate a PWM output, we need to create a train of pulses with constant period a ...