CN110333874B - 一种iOS***安装包数据采集方法、装置、设备及介质 - Google Patents
一种iOS***安装包数据采集方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN110333874B CN110333874B CN201910495717.0A CN201910495717A CN110333874B CN 110333874 B CN110333874 B CN 110333874B CN 201910495717 A CN201910495717 A CN 201910495717A CN 110333874 B CN110333874 B CN 110333874B
- Authority
- CN
- China
- Prior art keywords
- ios
- application
- instruction
- installation
- target application
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明涉及一种iOS***安装包数据采集方法,包括:当iOS设备接入计算机设备后,检测所述iOS设备上的目标应用是否有更新;如果所述目标应用有更新,向所述iOS设备发送所述目标应用的安装包和第一触发指令,以使所述iOS设备根据所述第一触发指令运行所述安装包安装所述目标应用;通过安全外壳协议向所述iOS设备发送第一获取指令,获取所述iOS设备根据所述第一获取指令返回的安装完成后安装目录下的文件信息;通过所述安全外壳协议向所述iOS设备发送第二触发指令,以使所述iOS设备根据所述第二触发指令启动所述目标应用;通过所述安全外壳协议向所述iOS设备发送第二获取指令,获取所述iOS设备根据所述第二获取指令返回的启动完成后安装目录下的文件信息。
Description
技术领域
本发明涉及应用程序开发技术领域,特别涉及一种iOS***安装包数据采集方法、装置、设备及介质。
背景技术
随着互联网技术的不断发展,各种功能丰富的应用程序被开发应用。应用程序研发人员在开发应用程序时,是按照若干周期进行开发的,每个周期都会产生一个新版本的安装包。因此,随着开发周期的增长,每个周期的安装包会逐渐增大,随着版本的迭代,这种增大几乎是线性增大。如果应用安装包过大,会影响用户下载成功率、安装转化率,最终影响新进用户数量。
为了解决上述问题,需要建立长期的安装包大小数据采集机制,关注安装包大小变化趋势,及时预警安装包过大问题,同时方便研发人员定位是什么原因导致安装包过大,哪些文件是可以进行优化的冗余资源。而苹果公司的移动操作***(iPhone OperatingSystem,iOS)由于***封闭性,其手机应用程序(IPhone Application,ipa)包获取、安装及安装后的数据获取都存在难度,目前现有技术都是通过手动下载ipa包,然后手动安装、启动,通过第三方工具获取安装、启动后的相关信息。
现有技术需要较多的人工操作,还需要借助第三方工具获取数据,操作十分不便;而且通过人工手动获取ipa包信息,不能做到及时性,当应用更新版本后,无法及时获取最新ipa包的相关信息。
发明内容
针对现有技术的上述问题,本发明的目的在于提供一种iOS***安装包数据采集方法、装置、设备及介质,能够自动下载、安装及启动ipa包,并获取在安装前、安装后及启动后各阶段的相关安装信息。
为了解决上述问题,本发明提供一种iOS***安装包数据采集方法,应用于计算机设备中,包括:
当iOS设备接入所述计算机设备后,检测所述iOS设备上的目标应用是否有更新;
如果所述目标应用有更新,向所述iOS设备发送所述目标应用的安装包和第一触发指令,以使所述iOS设备根据所述第一触发指令运行所述安装包安装所述目标应用;
通过安全外壳协议向所述iOS设备发送第一获取指令,获取所述iOS设备根据所述第一获取指令返回的安装完成后安装目录下的文件信息;
通过所述安全外壳协议向所述iOS设备发送第二触发指令,以使所述iOS设备根据所述第二触发指令启动所述目标应用;
通过所述安全外壳协议向所述iOS设备发送第二获取指令,获取所述iOS设备根据所述第二获取指令返回的启动完成后安装目录下的文件信息。
本发明另一方面提供一种iOS***安装包数据采集装置,设置于计算机设备中,包括:
检测模块,用于当iOS设备接入所述计算机设备后,检测所述iOS设备上的目标应用是否有更新;
安装模块,用于当所述目标应用有更新时,向所述iOS设备发送所述目标应用的安装包和第一触发指令,以使所述iOS设备根据所述第一触发指令运行所述安装包安装所述目标应用;
第一获取模块,用于通过安全外壳协议向所述iOS设备发送第一获取指令,获取所述iOS设备根据所述第一获取指令返回的安装完成后安装目录下的文件信息;
启动模块,用于通过安全外壳协议向所述iOS设备发送第二触发指令,以使所述iOS设备根据所述第二触发指令启动所述目标应用;
第二获取模块,用于通过安全外壳协议向所述iOS设备发送第二获取指令,获取所述iOS设备根据所述第二获取指令返回的启动完成后安装目录下的文件信息。
本发明另一方面提供一种计算机设备,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如上述的iOS***安装包数据采集方法。
本发明另一方面提供一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如上述的iOS***安装包数据采集方法。
由于上述技术方案,本发明具有以下有益效果:
(1)本发明的iOS***安装包数据采集方法、装置、设备及介质,通过自动下载ipa包,自动把ipa包推送到连接的iOS设备上,自动安装ipa包,安装完成后自动启动应用程序,并获取在安装前、安装后及启动后各阶段的相关安装信息,实现了iOS设备自动安装、启动应用程序,并自动获取各阶段游戏的安装包大小数据,减少了用户的操作,增强了用户的体验。
(2)本发明的iOS***安装包数据采集方法、装置、设备及介质,能够高效、实时地获取大量游戏的安装包大小数据,监控安装包大小变化趋势,为分析安装包变化提供数据支撑,及时预警安装包过大,并帮助优化安装包大小。
附图说明
为了更清楚地说明本发明的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它附图。
图1是本发明实施例提供的实施环境示意图;
图2是本发明一个实施例提供的iOS***安装包数据采集方法流程图;
图3是本发明另一个实施例提供的iOS***安装包数据采集方法流程图;
图4是本发明另一个实施例提供的iOS***安装包数据采集方法流程图;
图5是本发明一个实施例提供的预设应用列表的示意图;
图6是本发明另一个实施例提供的iOS***安装包数据采集方法流程图;
图7是本发明一个实施例提供的iOS***安装包数据采集装置结构框图;
图8是本发明另一个实施例提供的iOS***安装包数据采集装置结构框图;
图9是本发明另一个实施例提供的iOS***安装包数据采集装置结构框图;
图10是本发明一个实施例提供的计算机设备结构框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、装置、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
请参考说明书附图1,其示出了本发明实施例提供的实施环境示意图,如图1所示,该实施环境可以至少包括服务器110、计算机设备120和终端设备130。
所述服务器110可以是一台服务器,也可以是由若干台服务器组成的服务器集群,或者是一个云计算服务中心。所述服务器110可以通过无线或者有线网络与所述计算机设备120建立通信连接。
所述计算机设备120可以是膝上型便携计算机或者台式计算机等等。所述计算机设备120可以通过有线或者无线的方式与所述终端设备130建立通信连接。
所述终端设备130可以是手持设备,包括手机、平板电脑、电子书阅读器、动态影像专家压缩标准音频层面3(Moving Picture Experts Group Audio Layer III,MP3)播放器和动态影像专家压缩标准音频层面4(Moving Picture Experts GroupAudio Layer IV,MP4)播放器等等。所述终端设备130安装有服务商提供给用户的应用程序。
本发明实施例中,所述服务器110可以是苹果后台服务器,所述终端设备130可以是iOS设备例如苹果手机(iPhone)、苹果平板电脑(iPad)和苹果多功能数字多媒体播放器(iPod)等,所述计算机设备120与所述终端设备130可以通过通用串行总线(UniversalSerial Bus,usb)建立通讯连接。
下面介绍本发明实施例提供的iOS***安装包数据采集方法,该方法可以应用于计算机设备中,对于需要进行iOS***安装包数据采集的计算机设备,可以通过脚本程序在计算机设备上集成本发明实施例的方法所提供的iOS***安装包数据采集的功能,或者以软件开发工具包(Software Development Kit,sdk)的形式运行在计算机设备上。
请参考说明书附图2,其示出了本发明实施例提供的一种iOS***安装包数据采集方法的流程。如图2所示,所述方法可以包括如下步骤:
S201:当iOS设备接入所述计算机设备后,检测所述iOS设备上的目标应用是否有更新。
S202:如果所述目标应用有更新,向所述iOS设备发送所述目标应用的安装包和第一触发指令,以使所述iOS设备根据所述第一触发指令运行所述安装包安装所述目标应用。
相应地,所述iOS设备安装所述目标应用完成后,返回安装完成信息。
S203:通过安全外壳协议向所述iOS设备发送第一获取指令,获取所述iOS设备根据所述第一获取指令返回的安装完成后安装目录下的文件信息。
S204:通过所述安全外壳协议向所述iOS设备发送第二触发指令,以使所述iOS设备根据所述第二触发指令启动所述目标应用。
相应地,所述iOS设备启动所述目标应用完成后,返回启动完成信息。
S205:通过所述安全外壳协议向所述iOS设备发送第二获取指令,获取所述iOS设备根据所述第二获取指令返回的启动完成后安装目录下的文件信息。
综上所述,本发明的iOS***安装包数据采集方法、装置、设备及介质,通过自动把ipa包推送到连接的iOS设备上,自动安装ipa包,安装完成后自动启动应用程序,并获取在安装后及启动后各阶段的相关安装信息,实现了iOS设备自动安装、启动应用程序,并自动获取各阶段游戏的安装包大小数据,减少了用户的操作,增强了用户的体验。
请参考说明书附图3,其示出了本发明另一实施例提供的一种iOS***安装包数据采集方法的流程。如图3所示,所述方法可以包括:
S301:获取基于iOS***的应用更新信息。
本发明实施例中,可以通过分析iTunes客户端获取应用更新信息的请求、响应协议,找到获取iOS***应用更新信息的统一资源定位符,通过模拟发送该安全超文本传输协议(Hyper Text Transfer Protocol over Secure Socket Layer,https)请求,分析、处理并保存返回的请求结果获得iOS***的应用更新信息。具体地,可以预先设定一个时间间隔,每经过预设时间间隔获取一次应用更新信息。在一个可能的实时例中,还可以在检测到iOS设备接入所述计算机设备时获取基于iOS***的应用更新信息。
在一个具体的实施例中,如图4所示,所述获取基于iOS***的应用更新信息可以包括:
S401:抓取iTunes客户端向服务器发送的安全超文本传输协议请求,所述安全超文本传输协议请求用于获取应用更新信息。
S402:模拟iTunes客户端向服务器发送所述安全超文本传输协议请求。
相应地,服务器接收到所述安全超文本传输协议请求后,根据所述安全超文本传输协议请求获取并返回应用更新信息。
S403:获取服务器返回的应用更新信息。
其中,所述应用更新信息可以包括有更新的应用名称及其对应的ipa包信息,所述有更新的应用可以包括新增的应用以及版本更新的应用。
S302:根据所述应用更新信息更新所述预设应用列表。
本发明实施例中,如图5所示,所述预设应用列表可以包括对应存储的应用名称、最新版本的ipa包名称和版本号等信息。所述预设应用列表可以保存在数据库中,并且可以根据所述应用更新信息进行更新。
具体地,每当获到取iOS***的应用更新信息后即对所述预设应用列表进行一次更新。所述更新可以包括:将新增的应用信息和与之对应的ipa包信息添加到所述预设应用列表中,以及将版本更新的应用的ipa包名称和版本号修改为最新版本的名称和版本号。在一个可能的实施例中,所述预设应用列表还可以为所述服务器根据所述应用更新信息生成并返回。
S303:根据所述应用更新信息下载应用的安装包。
本发明实施例中,考虑到苹果后台服务器对下载超文本传输协议(Hyper TextTransfer Protocol,http)请求有鉴权处理,如果鉴权不通过,就无法下载ipa包到本地。而苹果的下载鉴权很复杂,通常难以构造有效的http请求,以通过苹果后台服务器的鉴权。而苹果第三方应用助手平台(如itools,PP助手等)上有大量的iOS***应用,这些平台上的ipa包和苹果应用商店上的是一样的,且没有鉴权限制。因此,iOS***ipa包的下载链接可以从第三方应用助手平台获取,例如通过抓取PP助手的http请求,即可获得ipa包的下载链接。
在一个具体的实施例中,如图6所示,所述应用更新信息可以包括安装包信息;所述根据所述应用更新信息下载应用的安装包可以包括:
S601:根据所述安装包信息抓取应用助手客户端向服务器发送的超文本传输协议请求,所述超文本传输协议请求用于获取安装包的下载链接。
其中,所述安装包信息可以包括ipa包名称,可以根据所述ipa包名称抓取应用助手客户端获取所述ipa包名称对应的安装包的下载链接。
S602:模拟应用助手客户端向服务器发送所述超文本传输协议请求。
相应地,服务器接收到所述超文本传输协议请求后,根据所述超文本传输协议请求获取并返回安装包下载链接。
S603:获取服务器返回的安装包下载链接。
S604:根据所述安装包下载链接下载应用的安装包。
本发明实施例中,可以通过curl命令根据所述下载链接下载应用的安装包。当获取到所述应用更新信息后,可以根据所述安装包信息下载所有有更新的应用的ipa包并存储到本地。由于所述应用更新信息中有更新的应用可能不止一个,因此,图6的流程通常不会只执行一次。比如,在一段时间内,多个应用有更新可能相应地导致该流程执行多次。
需要说明的是,在一个可能的实施例中,所述步骤S303:根据所述应用更新信息下载应用的安装包,还可以在iOS设备接入所述计算机设备后,检测到所述iOS设备上的目标应用有更新时进行,此时可以根据所述预设应用列表中记载的所述目标应用的ipa包信息下载所述目标应用的ipa包并存储到本地。
S304:当iOS设备接入所述计算机设备后,检测所述iOS设备上的目标应用是否有更新。
可以理解地,只有当所述iOS设备与所述计算机设备正常连接时,所述iOS设备与所述计算机设备之间才能进行数据传输。
本发明实施例中,所述iOS设备可以通过usb接入所述计算机设备,所述目标应用安装在所述iOS设备上,所述目标应用可以是服务商提供给用户的各类应用,包括社交类应用、即时通信类应用、支付类应用、游戏类应用和阅读类应用等,对此本发明实施例不作限定。
在一个可能的实施例中,所述当iOS设备接入所述计算机设备后,检测所述iOS设备上的目标应用是否有更新可以包括:
利用第三方开源库与所述iOS设备建立通信连接;
通过所述第三方开源库的接口向所述iOS设备发送第三获取指令,获取所述iOS设备根据所述第三获取指令返回的目标应用信息;
将所述目标应用信息与预设应用列表中的应用信息进行对比,确定目标应用是否有更新。
其中,所述第三方开源库可以是pymobiledevice库,所述pymobiledevice库是libimobiledevice库的python实现,可以用来连接iOS设备,并提供部分与iOS***交互的接口,比如安装ipa包、查找已安装应用列表、取相关应用信息和卸载应用等。
本发明实施例中,所述目标应用可以为具体的某个应用,也可以为预先确定的多个应用的集合。所述目标应用信息可以包括应用名称及其对应的ipa包信息,通过将所述应用名称及其对应的ipa包信息与所述预设应用列表中的应用信息进行对比即可确定目标应用是否有更新。
在一个具体的实施例中,所述目标应用可以包括所有安装在所述iOS设备上的应用,检测所述目标应用是否有更新时,可以首先通过向所述iOS设备发送应用安装列表获取指令,获取所述iOS设备上安装的所有应用的应用名称,再通过向所述iOS设备发送应用ipa包信息获取指令,获取每个应用的ipa包信息,最后通过将每个应用的应用名称及其对应的ipa包信息与所述预设应用列表中的应用信息进行对比即可确定目标应用是否有更新。对其中有更新的目标应用继续执行以下步骤,自动安装、启动应用,获取安装、启动完成后安装目录下的文件信息。
S305:如果所述目标应用有更新,向所述iOS设备发送所述目标应用的安装包和第一触发指令,以使所述iOS设备根据所述第一触发指令运行所述安装包安装所述目标应用。
相应地,所述iOS设备安装所述目标应用完成后,返回安装完成信息。
本发明实施例中,所述如果所述目标应用有更新,则向所述iOS设备发送所述目标应用的安装包和第一触发指令,以使所述iOS设备根据所述第一触发指令运行所述安装包安装所述目标应用可以包括:
通过所述第三方开源库的接口向所述iOS设备发送所述目标应用的安装包和第一触发指令。
其中,所述第三方开源库可以是pymobiledevice库,所述第一触发指令为安装指令,所述第一触发指令包括所述目标应用的ipa包名称,所述目标应用的安装包是可自行解压缩文件的集合,包括应用安装的所有文件,运行这个安装包,可以将此应用的所有文件释放到硬盘上,完成修改注册表、修改***设置、创建快捷方式等工作。所述iOS设备接收到所述第一触发指令后,运行所述ipa包名称对应的ipa包安装所述目标应用。
S306:通过安全外壳协议向所述iOS设备发送第一获取指令,获取所述iOS设备根据所述第一获取指令返回的安装完成后安装目录下的文件信息。
本发明实施例中,所述iOS设备接收到所述第一获取指令后,递归列出安装完成后应用安装目录下所有文件/目录的大小,并以千字节(KB)为单位排序显示大小。所述方法还可以包括将所述安装完成后安装目录下的文件信息保存到数据库中。
本发明实施例中,所述通过安全外壳协议向所述iOS设备发送第一获取指令,获取所述iOS设备根据所述第一获取指令返回的安装完成后安装目录下的文件信息之前,还可以包括:
利用所述计算机设备上部署的usbmuxd服务与所述iOS设备建立通信连接。
本发明实施例中,由于iOS底层操作***是类unix***,可以通过安全外壳(Secure Shell,ssh)协议直接连接iOS底层操作***,就像常见的用ssh协议连接linux服务器一样。所述ssh协议为建立在应用层基础上的安全协议,ssh协议是目前较可靠的专为远程登录会话和其他网络服务提供安全性的协议。当连接iOS设备后,可以方便地执行壳(shell)命令,与iOS底层操作***交互。
由于iOS设备的***中自带了usbmuxd服务,该服务能够实现usb到传输控制协议(Transmission Control Protocol,TCP)的转换,能够基于Unix域套接字(Unix DomainSocket)把usb的端口映射到本机的TCP端,因此,只需要在所述计算机设备上也实现一个usbmuxd服务,并指定端口映射关系,就可以使得iOS设备上的应用和所述计算机设备上的应用能够通过套接字(Socket)进行TCP通信。因此,在所述计算机设备上部署usbmuxd服务,所述计算机通过usb与iOS设备相连后,即可通过ssh协议连接iOS设备底层***,通过执行shell命令,与iOS***进行交互。
S307:通过所述安全外壳协议向所述iOS设备发送第二触发指令,以使所述iOS设备根据所述第二触发指令启动所述目标应用。
相应地,所述iOS设备启动所述目标应用完成后,返回启动完成信息。
本发明实施例中,所述第二触发指令为启动指令,所述第二触发指令包括目标应用的ipa包名称,所述iOS设备接收到所述第二触发指令后,根据所述ipa包名称启动所述目标应用。
S308:通过所述安全外壳协议向所述iOS设备发送第二获取指令,获取所述iOS设备根据所述第二获取指令返回的启动完成后安装目录下的文件信息。
本发明实施例中,所述iOS设备接收到所述第二获取指令后,递归列出启动完成后应用安装目录下所有文件/目录的大小,并以千字节(KB)为单位排序显示大小。所述方法还可以包括将所述启动完成后安装目录下的文件信息保存到数据库中。
请参考说明书附图7,其示出了本发明实施例提供的一种iOS***安装包数据采集装置700,设置于计算机设备中,所述装置700可以包括:
检测模块710,用于当iOS设备接入所述计算机设备后,检测所述iOS设备上的目标应用是否有更新;
安装模块720,用于当所述目标应用有更新时,向所述iOS设备发送所述目标应用的安装包和第一触发指令,以使所述iOS设备根据所述第一触发指令运行所述安装包安装所述目标应用;
第一获取模块730,用于通过安全外壳协议向所述iOS设备发送第一获取指令,获取所述iOS设备根据所述第一获取指令返回的安装完成后安装目录下的文件信息;
启动模块740,用于通过所述安全外壳协议向所述iOS设备发送第二触发指令,以使所述iOS设备根据所述第二触发指令启动所述目标应用;
第二获取模块750,用于通过所述安全外壳协议向所述iOS设备发送第二获取指令,获取所述iOS设备根据所述第二获取指令返回的启动完成后安装目录下的文件信息。
在一个可能的实施例中,所述装置700还可以包括:
第三获取模块760,用于获取基于iOS***的应用更新信息;
更新模块770,用于根据所述应用更新信息更新所述预设应用列表;
下载模块780,用于根据所述应用更新信息下载应用的安装包。
在一个可能的实施例中,如图8所示,所述第三获取模块760可以包括:
第一抓取单元761,用于抓取iTunes客户端向服务器发送的安全超文本传输协议请求,所述安全超文本传输协议请求用于获取应用更新信息;
第一发送单元762,用于模拟iTunes客户端向服务器发送所述安全超文本传输协议请求;
第一获取单元763,用于获取服务器返回的应用更新信息。
在一个可能的实施例中,如图9所示,所述下载模块780可以包括:
第二抓取单元781,用于根据所述安装包信息抓取应用助手客户端向服务器发送的超文本传输协议请求,所述超文本传输协议请求用于获取安装包的下载链接;
第二发送单元782,用于模拟应用助手客户端向服务器发送所述超文本传输协议请求;
第二获取单元783,用于获取服务器返回的安装包下载链接;
下载单元784,用于根据所述安装包下载链接下载应用的安装包。
需要说明的是,上述实施例提供的装置,在实现其功能时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的装置与方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
本发明实施例还提供了一种计算机设备,包括处理器和存储器,该存储器中存储有至少一条指令、至少一段程序、代码集或指令集,该至少一条指令、该至少一段程序、该代码集或指令集由该处理器加载并执行以实现如上述方法实施例所提供的iOS***安装包数据采集方法。或者,该至少一条指令、该至少一段程序、该代码集或指令集由该处理器加载并执行以实现上述装置实施例中各模块/单元的功能。
可选地,本发明实施例中,所述计算机设备可以是桌上型计算机、笔记本、掌上电脑及云端服务器等。
在一个具体的实施例中,如图10所示,其示出了本发明实施例提供的计算机设备的结构示意图。所述计算机设备1000可以包括一个或一个以上计算机可读存储介质的存储器1010、一个或者一个以上处理核心的处理器1020、输入单元1030、显示单元1040、以及电源1050等部件。本领域技术人员可以理解,图10中示出的终端结构并不构成对计算机设备1000的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
所述存储器1010可用于存储软件程序以及模块,所述处理器1020通过运行或执行存储在所述存储器1010的软件程序以及模块,以及调用存储在存储器1010内的数据,从而执行各种功能应用以及数据处理。所述存储器1010可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需的应用程序等;存储数据区可存储根据所述计算机设备的使用所创建的数据等。此外,存储器1010可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(Smart MediaCard,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器1010还可以包括存储器控制器,以提供处理器1020对存储器1010的访问。
所述处理器1020是计算机设备1000的控制中心,利用各种接口和线路连接整个计算机设备的各个部分,通过运行或执行存储在存储器1010内的软件程序和/或模块,以及调用存储在存储器1010内的数据,执行计算机设备1000的各种功能和处理数据,从而对计算机设备1000进行整体监控。所述处理器1020可以是中央处理单元(Central ProcessingUnit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述输入单元1030可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。具体地,输入单元1030可包括图像输入设备1031以及其他输入设备1032。图像输入设备1031可以是摄像头,也可以是光电扫描设备。除了图像输入设备1031,输入单元1030还可以包括其他输入设备1032。具体地,其他输入设备1032可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
所述显示单元1040可用于显示由用户输入的信息或提供给用户的信息以及终端的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。显示单元1040可包括显示面板1041,可选的,可以采用液晶显示器(Liquid CrystalDisplay,LCD)、有机发光二极管(Organic Light-Emitting Diode,OLED)等形式来配置显示面板1041。
所述计算机设备1000还包括给各个部件供电的电源1050(比如电池),优选的,电源可以通过电源管理***与处理器1020逻辑相连,从而通过电源管理***实现管理充电、放电、以及功耗管理等功能。电源1050还可以包括一个或一个以上的直流或交流电源、再充电***、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
需要说明的是,尽管未示出,所述计算机设备1000还可以包括蓝牙模块等,在此不再赘述。
本发明实施例还提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如上述的方法实施例所提供的iOS***安装包数据采集方法。
所述计算机设备集成的模块或者单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
综上所述,本发明的iOS***安装包数据采集方法、装置、设备及介质,通过自动下载ipa包,自动把ipa包推送到连接的iOS设备上,自动安装ipa包,安装完成后自动启动应用程序,并获取在安装前、安装后及启动后各阶段的相关安装信息,实现了iOS设备自动安装、启动应用程序,并自动获取各阶段游戏的安装包大小数据,减少了用户的操作,增强了用户的体验。
采用本发明的iOS***安装包数据采集方法、装置、设备及介质,能够高效、实时地获取大量游戏的安装包大小数据,监控安装包大小变化趋势,为分析安装包变化提供数据支撑,及时预警安装包过大,并帮助优化安装包大小。
需要说明的是:上述本发明实施例先后顺序仅仅为了描述,不代表实施例的优劣。且上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、终端和服务器实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种iOS***安装包数据采集方法,应用于计算机设备中,其特征在于,包括:
当iOS设备接入所述计算机设备后,检测所述iOS设备上的目标应用是否有更新;
如果所述目标应用有更新,向所述iOS设备发送所述目标应用的安装包和第一触发指令,以使所述iOS设备根据所述第一触发指令运行所述安装包安装所述目标应用;
通过安全外壳协议向所述iOS设备发送第一获取指令,获取所述iOS设备根据所述第一获取指令返回的安装完成后安装目录下的文件信息;
通过所述安全外壳协议向所述iOS设备发送第二触发指令,以使所述iOS设备根据所述第二触发指令启动所述目标应用;
通过所述安全外壳协议向所述iOS设备发送第二获取指令,获取所述iOS设备根据所述第二获取指令返回的启动完成后安装目录下的文件信息。
2.根据权利要求1所述的方法,其特征在于,所述当iOS设备接入所述计算机设备后,检测所述iOS设备上的目标应用是否有更新包括:
利用第三方开源库与所述iOS设备建立通信连接;
通过所述第三方开源库的接口向所述iOS设备发送第三获取指令,获取所述iOS设备根据所述第三获取指令返回的目标应用信息;
将所述目标应用信息与预设应用列表中的应用信息进行对比,确定目标应用是否有更新。
3.根据权利要求2所述的方法,其特征在于,所述如果所述目标应用有更新,则向所述iOS设备发送所述目标应用的安装包和第一触发指令,以使所述iOS设备根据所述第一触发指令运行所述安装包安装所述目标应用包括:
通过所述第三方开源库的接口向所述iOS设备发送所述目标应用的安装包和第一触发指令。
4.根据权利要求1-3任意一项所述的方法,其特征在于,所述通过安全外壳协议向所述iOS设备发送第一获取指令,获取所述iOS设备根据所述第一获取指令返回的安装完成后安装目录下的文件信息之前,还包括:
利用所述计算机设备上部署的usbmuxd服务与所述iOS设备建立通信连接。
5.根据权利要求2所述的方法,其特征在于,所述方法还包括:
获取基于iOS***的应用更新信息;
根据所述应用更新信息更新所述预设应用列表;
根据所述应用更新信息下载应用的安装包。
6.根据权利要求5所述的方法,其特征在于,所述获取基于iOS***的应用更新信息包括:
抓取iTunes客户端向服务器发送的安全超文本传输协议请求,所述安全超文本传输协议请求用于获取应用更新信息;
模拟iTunes客户端向服务器发送所述安全超文本传输协议请求;
获取服务器返回的应用更新信息。
7.根据权利要求5或6所述的方法,其特征在于:
所述应用更新信息包括安装包信息;
所述根据所述应用更新信息下载应用的安装包包括:
根据所述安装包信息抓取应用助手客户端向服务器发送的超文本传输协议请求,所述超文本传输协议请求用于获取安装包的下载链接;
模拟应用助手客户端向服务器发送所述超文本传输协议请求;
获取服务器返回的安装包下载链接;
根据所述安装包下载链接下载应用的安装包。
8.一种iOS***安装包数据采集装置,设置于计算机设备中,其特征在于,包括:
检测模块,用于当iOS设备接入所述计算机设备后,检测所述iOS设备上的目标应用是否有更新;
安装模块,用于当所述目标应用有更新时,向所述iOS设备发送所述目标应用的安装包和第一触发指令,以使所述iOS设备根据所述第一触发指令运行所述安装包安装所述目标应用;
第一获取模块,用于通过安全外壳协议向所述iOS设备发送第一获取指令,获取所述iOS设备根据所述第一获取指令返回的安装完成后安装目录下的文件信息;
启动模块,用于通过所述安全外壳协议向所述iOS设备发送第二触发指令,以使所述iOS设备根据所述第二触发指令启动所述目标应用;
第二获取模块,用于通过所述安全外壳协议向所述iOS设备发送第二获取指令,获取所述iOS设备根据所述第二获取指令返回的启动完成后安装目录下的文件信息。
9.一种计算机设备,其特征在于,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如权利要求1-7任意一项所述的iOS***安装包数据采集方法。
10.一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如权利要求1-7任意一项所述的iOS***安装包数据采集方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910495717.0A CN110333874B (zh) | 2019-06-10 | 2019-06-10 | 一种iOS***安装包数据采集方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910495717.0A CN110333874B (zh) | 2019-06-10 | 2019-06-10 | 一种iOS***安装包数据采集方法、装置、设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110333874A CN110333874A (zh) | 2019-10-15 |
CN110333874B true CN110333874B (zh) | 2022-09-23 |
Family
ID=68140869
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910495717.0A Active CN110333874B (zh) | 2019-06-10 | 2019-06-10 | 一种iOS***安装包数据采集方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110333874B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111142892B (zh) * | 2019-12-30 | 2023-06-20 | 飞天诚信科技股份有限公司 | ios应用程序自动安装方法及通信装置 |
CN114329360B (zh) * | 2022-01-07 | 2022-07-15 | 每日互动股份有限公司 | 一种用于模糊化pkg的方法、电子设备及介质 |
CN116541253B (zh) * | 2023-07-07 | 2024-03-26 | 深圳软牛科技有限公司 | 应用的检测方法、***、终端设备和可读存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104133693A (zh) * | 2014-07-10 | 2014-11-05 | 腾讯科技(深圳)有限公司 | 安装状态检测方法、装置及终端 |
CN104317607A (zh) * | 2014-09-27 | 2015-01-28 | 昆明钢铁集团有限责任公司 | 一种企业In-house IOS APP自动升级***与方法 |
CN107172165A (zh) * | 2017-05-25 | 2017-09-15 | 万兴科技股份有限公司 | 一种数据同步方法及装置 |
CN108399071A (zh) * | 2018-01-19 | 2018-08-14 | 五八有限公司 | 应用程序安装包大小的处理方法、装置、设备和存储介质 |
CN108563478A (zh) * | 2018-03-06 | 2018-09-21 | 北京酷我科技有限公司 | 一种App启动换肤策略 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104516738A (zh) * | 2014-12-15 | 2015-04-15 | 北京金和软件股份有限公司 | 一种app应用的开发与发布一体化实现方法 |
-
2019
- 2019-06-10 CN CN201910495717.0A patent/CN110333874B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104133693A (zh) * | 2014-07-10 | 2014-11-05 | 腾讯科技(深圳)有限公司 | 安装状态检测方法、装置及终端 |
CN104317607A (zh) * | 2014-09-27 | 2015-01-28 | 昆明钢铁集团有限责任公司 | 一种企业In-house IOS APP自动升级***与方法 |
CN107172165A (zh) * | 2017-05-25 | 2017-09-15 | 万兴科技股份有限公司 | 一种数据同步方法及装置 |
CN108399071A (zh) * | 2018-01-19 | 2018-08-14 | 五八有限公司 | 应用程序安装包大小的处理方法、装置、设备和存储介质 |
CN108563478A (zh) * | 2018-03-06 | 2018-09-21 | 北京酷我科技有限公司 | 一种App启动换肤策略 |
Also Published As
Publication number | Publication date |
---|---|
CN110333874A (zh) | 2019-10-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110333874B (zh) | 一种iOS***安装包数据采集方法、装置、设备及介质 | |
CN105378655B (zh) | 用于目标和不存在的设备的驱动程序安装的方法 | |
CN109857403B (zh) | 一种页面更新、页面处理方法及装置 | |
CN107943683B (zh) | 一种测试脚本生成方法、装置、电子设备及存储介质 | |
CN109308241B (zh) | 监听应用程序启动流程方法、装置、终端设备和存储介质 | |
CN108763086A (zh) | 基于远程真机的脚本录制方法、终端及计算机可读存储介质 | |
CN106778117B (zh) | 权限开启方法、装置及*** | |
EP2323034A2 (en) | Information-processing device, communication system, program, and information-processing method | |
CN102209111A (zh) | 云计算移动网络终端设备开放性跨平台*** | |
CN107370804B (zh) | 软件应用处理方法和装置 | |
CN105550252A (zh) | 一种文件定位方法、装置及电子设备 | |
US9307010B2 (en) | Data upload method using shortcut | |
CN103339601A (zh) | 用于在数字装置中提供应用自动安装功能的设备和方法 | |
US20150370616A1 (en) | Method and system for recommending computer products on the basis of observed usage patterns of a computational device of known configuration | |
CN106598678A (zh) | 向终端设备提供应用程序安装包的方法及装置 | |
US20180129519A1 (en) | Method and system for emulating application running in secondary device on primary device | |
CN103685515A (zh) | 一种应用下载的方法及*** | |
CN110968331A (zh) | 应用程序运行的方法和装置 | |
CN104468260A (zh) | 一种移动终端设备的识别方法、装置及*** | |
CN110262810A (zh) | 一种安装应用的方法与设备 | |
CN112905209A (zh) | 应用程序更新方法及装置 | |
CN111124612B (zh) | 一种容器镜像升级方法、装置及电子设备和存储介质 | |
CN107741895B (zh) | 服务器管理方法、装置及设备 | |
CN107943687B (zh) | 一种设备共享方法、装置、服务器及存储介质 | |
CN108279915B (zh) | 应用程序的升级方法、装置和终端 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |