CN104317607B - 一种企业In-house IOS APP自动升级系统与方法 - Google Patents

一种企业In-house IOS APP自动升级系统与方法 Download PDF

Info

Publication number
CN104317607B
CN104317607B CN201410501665.0A CN201410501665A CN104317607B CN 104317607 B CN104317607 B CN 104317607B CN 201410501665 A CN201410501665 A CN 201410501665A CN 104317607 B CN104317607 B CN 104317607B
Authority
CN
China
Prior art keywords
module
app
upgrade
installation
version
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201410501665.0A
Other languages
English (en)
Other versions
CN104317607A (zh
Inventor
李�杰
侯文彪
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Kunming Iron and Steel Group Co Ltd
Original Assignee
Kunming Iron and Steel Group Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Kunming Iron and Steel Group Co Ltd filed Critical Kunming Iron and Steel Group Co Ltd
Priority to CN201410501665.0A priority Critical patent/CN104317607B/zh
Publication of CN104317607A publication Critical patent/CN104317607A/zh
Application granted granted Critical
Publication of CN104317607B publication Critical patent/CN104317607B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Information Transfer Between Computers (AREA)
  • Stored Programmes (AREA)

Abstract

本发明公开了一种企业In‑house IOS APP自动升级系统与方法,所述的自动升级系统包括升级注册模块、网络检测模块、下载校验模块、状态检测模块和应用安装模块。所述方法包括以下步骤:检测与发布端的连通性,将应用程序的本地版本与远程版本对比,若发现新版本,则从发布端下载新版本,并进行数据包大小和md5校验,数据无误之后,当应用程序未运行时,安装新版本,安装完成后,将新的升级信息更新到配置文本中。本发明以Cydia系统为发布端,实现IOS APP的自动升级,无需用户参与,保证升级过程及时顺利完成的同时,避免了描述性文件过期和受制于苹果服务器的问题,有效提高了新应用程序的使用效率。

Description

一种企业In-house IOS APP自动升级系统与方法
技术领域
本发明属于计算机及网络技术领域,进一步属于移动互联网技术领域,具体涉及一种企业In-house IOS APP自动升级系统与方法。
背景技术
苹果移动设备的现有用户主要包括个人用户和集团用户,对于个人用户而言,大多是通过苹果公司的在线软件商店购买下载并安装APP,对于集团用户而言,可以购买苹果公司的企业开发账号,在Xcode集成开发环境中开发出APP,然后自建发布服务器,进行企业的In-house APP发布,使得开发IOS APP不用发布到在线软件商店中,就能让特定的用户去下载安装或升级。在这两种模式下,当APP需要升级时,首先在程序中自行检测可否升级,然后提示用户是否升级,根据用户的选择再进一步的下载升级,该升级过程对于用户是可见的,也给予了用户选择的自由,然而,随之带来的负面问题是无法确保应该升级的用户完成了升级,即无法保证用户能够获得新APP带来的功能或安全性,人为的造成业务开展或沟通交流的障碍,更有可能出现APP的描述文件过期,导致APP无法正常使用,此时用户则需要通过发布服务器重新安装APP,升级情况变得更为复杂。Cydia是一种基于IOS的破解软件系统,类似苹果在线软件商店iTunes Store 的软件平台的客户端,一般是在越狱的过程中被装入到系统中,利用Cydia系统发布企业In-house APP具有三个优势,其一是能够绕过苹果公司服务器对发布APP的相关认证,其二是不会存在APP描述文件过期的情况,其三是发布服务器由企业自行控制,不受苹果公司的限制。因此开发一种基于Cydia的企业In-houseIOS APP自动升级系统,解决上述APP手动升级时带来负面问题是非常必要的。
发明内容
本发明的第一目的在于提供一种企业In-house IOS APP自动升级系统;第二目的在于提供所述自动升级系统的使用方法。
本发明的第一目的是这样实现的,包括升级注册模块、网络检测模块、下载校验模块、状态检测模块和应用安装模块,其中:
升级注册模块:用于安装APP时,在设备端写入该软件的升级参数信息;
网络检测模块:用于检测设备端与发布端的网络是否连通;
下载校验模块:用于从分布服务端中下载APP,并进行数据正确性的校验;
状态检测模块:用于检测需要升级的软件是否处于运行状态;
应用安装模块:用于卸载旧版本的APP,安装新版本的APP。
本发明的第二目的是这样实现的,包括以下步骤:
A、设备端从发布端下载APP并进行安装,安装结束时,升级注册模块通过Shell脚本将程序升级信息写入一个配置文本中;
B、在升级事件被触发之后,网络检测模块实时地进行与发布端的网络连通性检测,并将配置文本中的版本信息和发布端的当前版本进行比对;
C、若发布端上的APP为新版本,下载校验模块则进行数据下载,下载完毕进行数据包大小和md5校验;
D、状态检测模块检测被升级的APP是否处于运行状态,若未运行,则调用应用安装模块进行安装,若运行,则将升级包加入待安装队列;
E、应用安装模块在进行新版本的APP安装之时,拒绝用户运行APP的请求,在安装完成之后,通过升级注册模块将新的升级信息更新配置文本中。
本发明不仅解决了传统IOS APP升级模式中,受制于苹果公司服务器的问题,更克服了应用升级不及时和描述文件过期的问题,提供了一种基于Cydia系统的企业In-houseIOS软件自动升级系统与方法。本发明以Cydia系统为基础,建立企业的APP发布服务器,在网络连通的条件下,程序会自动检测是否有最新版本,检测到新版本时会自动后台下载新版本,下载完成后,若程序未在运行则后台静默安装,若用户正在使用,则等用户退出程序后进行升级安装,用户无需参与整个升级过程,一切对用户而言是透明的,自动升级系统的多种检测机制确保了应用升级的完成,确保用户的软件能够高效及时地被使用。
附图说明
图1为本发明企业In-house IOS APP自动升级系统示意图;
图2为本发明企业In-house IOS APP自动升级系统流程示意图。
具体实施方式
下面结合附图对本发明作进一步的说明,但不以任何方式对本发明加以限制,基于本发明教导所作的任何变换或替换,均属于本发明的保护范围。
本发明所述的企业In-house IOS APP自动升级系统,包括升级注册模块、网络检测模块、下载校验模块、状态检测模块和应用安装模块,其中:
升级注册模块:用于安装APP时,在设备端写入该软件的升级参数信息;
网络检测模块:用于检测设备端与发布端的网络是否连通;
下载校验模块:用于从发布端中下载APP,并进行数据正确性的校验;
状态检测模块:用于检测需要升级的软件是否处于运行状态;
应用安装模块:用于卸载旧版本的APP,安装新版本的APP。
升级注册模块中所述的写入升级参数信息是通过运行Shell脚本生成的,内容包括App包唯一标识名和当前版本号。
网络检测模块的触发事件为特定时间事件或网络状态变化事件。
下载校验模块为多线程并行下载。
状态检测模块与应用安装模块为不同的进程,两者通过IPC进行信息交互。
本发明所述的高炉参数数据管理系统的使用方法,包括以下步骤:
A、设备端从发布端下载APP并进行安装,安装结束时,升级注册模块通过Shell脚本将程序升级信息写入一个配置文本中;
B、在升级事件被触发之后,网络检测模块实时地进行与发布端的网络连通性检测,并将配置文本中的版本信息和发布端的当前版本进行比对;
C、若发布端上的APP为新版本,下载校验模块则进行数据下载,下载完毕进行数据包大小和md5校验;
D、状态检测模块检测被升级的APP是否处于运行状态,若未运行,则调用应用安装模块进行安装,若运行,则将升级包加入待安装队列;
E、应用安装模块在进行新版本的APP安装之时,拒绝用户运行APP的请求,在安装完成之后,通过升级注册模块将新的升级信息更新到配置文本中。
本发明所述的企业In-house IOS APP自动升级系统由升级注册模块1、网络检测模块2、下载校验模块3、状态检测模块4和应用安装模块5组成,一次升级过程为:升级注册模块1是在程序被执行安装之后,在设备端上会注册相关的升级信息,具体就是使用Shell脚本将应用程序的唯一标示包和版本号等信息写入到配置文本中,当升级事件被触发之后,网络检测模块2自动检测与发布端的连通性,将应用程序发不断的当前版本与设备端的版本进行对比,若当前版本为新版本,则利用下载校验模块3从服务端下载新版本,下载结束后进行数据包大小和md5校验,数据无误之后,状态检测模块4会检测该应用程序的状态,若为未运行状态,应用安装模块5则卸载旧版本,安装新版本,安装完成后,升级注册模块将新的升级信息更新到配置文本中。
发布端上运行的是Cydia store服务端程序,将需要发布的应用程序上传至Cydiastore数据库中,配置好相关信息就可以发布出来供用户下载,首次下载应用程序时,需要从Cydia 客户端中确认下载并安装,首次安装之后就可以进行自动升级。自动升级系统中的网络检测模块的触发事件可以多样的,比如每天的指定时刻一到就触发网络检测模块的运行,或者当设备的网络状态有变化,就会发送系统广播,当系统接受到该广播时,也可以触发网络模块的运行,在自动升级过程中,若网络检测模块检测到网络不连通,则可以直接停止检测,等到下一次事件触发该模块再进行检测,也可以指定停止一个时间段,再自动进行网络状态检测。下载校验模块下载完应用程序数据包之后进行正确性和完整性校验之后,若发现数据有误,则删除该包,并调用网络检测模块进行网络状态检测,网络连通则直接在进行数据包的重新下载。状态检测模块若检测到该应用程序正在运行,则将升级包加入待安装队列,一旦收到用户退出的广播之后,立即调用应用安装模块进行安装,在安装的过程中,强行禁止用户运行该应用程序。由于应用程序的安装需要特定权限才能完成,因此应用安装模块和下载校验模块可分别为不同的系统进程,两者之间通过IPC进行信息交互,下载并校验升级包之后,待到满足升级状态后,通知安装服务进行升级。
本发明所述的企业In-house IOS APP自动升级系统的具体运行步骤为:
1、首次安装应用程序时,使用Cydia 客户端从Cydia store的应用程序列表中选择下载并安装,安装完成之后,升级注册模块在设备端中的配置文本写入数据包标识号和版本号等升级信息;
2、当预备升级事件被触发时,运行网络检测模块对网络连通性进行检测,若能够和发布服务端连通,则将配置文本中的版本号与发布端的当前版本进行比较,若不能和发布服务端连通,则重复步骤2中等待预备升级事件被触发;
3、步骤2中版本比较的结果,若发布端的版本高于设备端的版本,运行下载校验模块,从发布端下载应用程序的版本并进行数据包大小和md5校验,若发布端的版本与设备端的版本相同,则此次升级过程结束;
4、步骤3中数据校验的结果,若结果无误,则运行状态检测模块,检测应用程序的状态,若结果有误,则返回步骤2,运行网络检测模块;
5、步骤4中应用程序的状态,若为运行状态,则将升级包加入待安装队列,一旦收到程序结束的广播后,则调用应用安装模块安装升级包,若不为运行状态,则直接调用应用安装模块安装升级包;
6、步骤5中安装升级包时,禁止用户运行该应用程序,安装结束后,运行升级注册模块在设备端中的配置文本中更新升级信息,此次升级过程结束;
7、当发布端发布了新版本的应用程序,则重复步骤2,进行新一轮的升级过程。
本发明的特点:
1、使用Cydia系统构建发布端,能够绕过苹果公司服务器对发布APP的相关认证。
2、不会存在APP描述文件过期的情况。
3、升级过程在后台完成,无需用户参与。
4、发布服务器由企业自行控制,不受苹果公司的限制。
5、多个循环过程,确保新的应用程序版本能得到及时的安装。

Claims (4)

1.一种企业In-house IOS APP自动升级系统,其特征在于包括升级注册模块、网络检测模块、下载校验模块、状态检测模块和应用安装模块,其中:
升级注册模块:用于安装APP时,在设备端写入该APP的升级参数信息,升级参数信息是通过运行Shell脚本生成的,内容包括App包唯一标识名和当前版本号;
网络检测模块:用于检测设备端与发布端的网络是否连通,所述发布端上运行的是Cydia store服务端程序,将需要发布的APP上传至Cydia store数据库中,配置好相关信息就可以发布出来供用户下载;所述网络检测模块的触发事件为特定时间事件或网络状态变化事件;
下载校验模块:用于从发布端中下载APP,并进行数据正确性的校验;
状态检测模块:用于检测需要升级的软件是否处于运行状态,若为运行状态,则将升级包加入待安装队列,一旦收到程序结束的广播后,则调用应用安装模块安装升级包,若不为运行状态,则直接调用应用安装模块安装升级包;
应用安装模块:用于卸载旧版本的APP,安装新版本的APP。
2.根据权利要求1所述企业In-house IOS APP自动升级系统,其特征在于所述下载校验模块为多线程并行下载。
3.根据权利要求1所述企业In-house IOS APP自动升级系统,其特征在于所述状态检测模块与应用安装模块为不同的进程,两者通过IPC进行信息交互。
4.一种如权利要求1、2或3所述企业In-house IOS APP自动升级系统的使用方法,其特征在于包括以下步骤:
A、设备端从发布端下载APP并进行安装,安装结束时,升级注册模块通过Shell脚本将程序升级信息写入一个配置文本中;
B、在升级事件被触发之后,网络检测模块实时地进行与发布端的网络连通性检测,并将配置文本中的版本信息和发布端的当前版本进行比对;
C、若发布端上的APP为新版本,下载校验模块则进行数据下载,下载完毕进行数据包大小和md5校验;
D、状态检测模块检测被升级的APP是否处于运行状态,若未运行,则调用应用安装模块进行安装,若运行,则将升级包加入待安装队列;
E、应用安装模块在进行新版本的APP安装之时,拒绝用户运行APP的请求,在安装完成之后,通过升级注册模块将新的升级信息更新到配置文本中。
CN201410501665.0A 2014-09-27 2014-09-27 一种企业In-house IOS APP自动升级系统与方法 Active CN104317607B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410501665.0A CN104317607B (zh) 2014-09-27 2014-09-27 一种企业In-house IOS APP自动升级系统与方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410501665.0A CN104317607B (zh) 2014-09-27 2014-09-27 一种企业In-house IOS APP自动升级系统与方法

Publications (2)

Publication Number Publication Date
CN104317607A CN104317607A (zh) 2015-01-28
CN104317607B true CN104317607B (zh) 2018-05-04

Family

ID=52372842

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410501665.0A Active CN104317607B (zh) 2014-09-27 2014-09-27 一种企业In-house IOS APP自动升级系统与方法

Country Status (1)

Country Link
CN (1) CN104317607B (zh)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104917821A (zh) * 2015-05-07 2015-09-16 太仓市同维电子有限公司 任务项事件共享的方法及系统
CN105959721A (zh) * 2016-06-27 2016-09-21 四川长虹电器股份有限公司 一种动态更新智能电视应用数据的方法
CN106874040A (zh) * 2017-01-17 2017-06-20 武汉天喻教育科技有限公司 基于Windows服务实现PC端软件静默升级的系统及方法
CN106990988A (zh) * 2017-04-05 2017-07-28 深圳天珑无线科技有限公司 一种程序更新的方法及装置
CN108415715A (zh) * 2018-02-12 2018-08-17 四川爱创科技有限公司 适用于自动售货机的基于场景分析的软件升级方法
CN109582330B (zh) * 2018-09-29 2021-08-03 创新先进技术有限公司 数据模型升级方法、装置、设备及可读存储介质
CN109885326B (zh) * 2019-02-27 2022-05-20 深圳创维-Rgb电子有限公司 副屏控制系统升级方法、装置及计算机可读存储介质
CN110333874B (zh) * 2019-06-10 2022-09-23 腾讯科技(成都)有限公司 一种iOS系统安装包数据采集方法、装置、设备及介质
CN110727448B (zh) * 2019-09-29 2023-06-27 重庆国翰能源发展有限公司 用于充电桩的ota空中升级方法
CN114827257A (zh) * 2022-05-10 2022-07-29 携程旅游网络技术(上海)有限公司 企业客户端的应用程序的推送方法、装置、设备和介质
CN116541253B (zh) * 2023-07-07 2024-03-26 深圳软牛科技有限公司 应用的检测方法、系统、终端设备和可读存储介质
CN117592083A (zh) * 2023-12-05 2024-02-23 广州致远电子股份有限公司 权限管理平台、方法、服务器及存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101043675A (zh) * 2007-01-17 2007-09-26 北京立通无限科技有限公司 移动终端应用软件自动部署、升级、配置的方法及系统

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100407650C (zh) * 2005-11-10 2008-07-30 中国工商银行股份有限公司 分布式业务系统中的软件版本升级系统及其方法
CN102546675A (zh) * 2010-12-08 2012-07-04 鸿富锦精密工业(深圳)有限公司 软件升级系统及方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101043675A (zh) * 2007-01-17 2007-09-26 北京立通无限科技有限公司 移动终端应用软件自动部署、升级、配置的方法及系统

Also Published As

Publication number Publication date
CN104317607A (zh) 2015-01-28

Similar Documents

Publication Publication Date Title
CN104317607B (zh) 一种企业In-house IOS APP自动升级系统与方法
US11194563B1 (en) Operating system patching and software update reconciliation
US9369349B2 (en) Automatic extraction, modeling, and code mapping of application user interface display screens and components
US9063818B1 (en) Automated software updating based on prior activity
CN103034512B (zh) 更新程序的方法和装置
CN105653329A (zh) 一种应用管理的方法、装置及系统
CN102106115B (zh) 使用基于网的虚拟计算机和虚拟专用网络隧穿的自动化解决方案的开发、测试、和展示
CN106155751A (zh) 应用打包发布方法及装置
CN106250143A (zh) 一种可穿戴设备的ota升级方法以及装置
CN105653287A (zh) 一种程序自动版本发布方法和装置
CN104424095A (zh) 一种移动终端的自动化测试方法和系统
CN107896244A (zh) 一种版本文件的分发方法、客户端及服务器
US20160283356A1 (en) Event-driven automation testing for mobile devices
CN109977670A (zh) 基于插件加载的安卓应用安全监测方法、存储介质
CN110727575B (zh) 一种信息处理方法、系统、装置、以及存储介质
CN110489161B (zh) 一种版本文件的管理方法及相关装置
CN107832065A (zh) 固件升级方法、净水器、升级系统及可读存储介质
CN105389263A (zh) 应用软件权限监控方法、系统及设备
CN103678124B (zh) 基于持续集成环境的视频监控平台自动测试方法及装置
CN112835604B (zh) 系统灰度版本发布管理方法、系统、设备和介质
CN109360029A (zh) 一种远程终端广告机的自我管理方法
CN109725906A (zh) 一种代码编译方法及对应的持续集成系统
CN106682491A (zh) 应用下载方法和装置
CN110290223A (zh) 主动升级方法及系统
CN103577180A (zh) 数据处理方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant