CN111949273B - 一种基于iOS系统的文件提取方法及装置 - Google Patents
一种基于iOS系统的文件提取方法及装置 Download PDFInfo
- Publication number
- CN111949273B CN111949273B CN202010761904.1A CN202010761904A CN111949273B CN 111949273 B CN111949273 B CN 111949273B CN 202010761904 A CN202010761904 A CN 202010761904A CN 111949273 B CN111949273 B CN 111949273B
- Authority
- CN
- China
- Prior art keywords
- file
- ipa
- target
- parameters
- extraction
- 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
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24552—Database cache management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种基于iOS系统的文件提取方法及装置。该方法包括:获取文件提取请求,获取该文件提取请求中的提取参数;在备份数据库中基于提取参数执行匹配操作;若备份数据库中存在与提取参数匹配成功的IPA文件参数,确定该IPA文件参数对应的目标IPA文件;基于目标IPA文件生成对应的IPA发布信息,依据IPA发布信息提取目标IPA文件。在上述方法中,由于预先设置了备份数据库,存储有已生成的IPA文件,以使后续需要使用IPA文件,可以从备份数据库中提取,而无需重新编译并构建IPA文件。
Description
技术领域
本申请涉及iOS文件构建技术领域,尤其涉及一种基于iOS系统的文件提取方法及装置。
背景技术
苹果设计的打包流程是通过将源资源文件编译签名成.app文件后,归档成一个.xcarchive文件,然后通过重签名的方式,将归档文件中的.app文件重签名然后压缩成IPA(iPhoneApplication,Apple程序应用文件)包,这样设计的优点是能够较好地归档编译的产品,同时能通过重签名方式重新定义包的发布渠道。
但是生成.xcarchive文件是一个全量编译的过程,不依赖缓存,这就造成了每次打包都需要全量编译,构建时间非常长。在日常构建测试中,需要频繁构建,而对发布渠道的修改频次较少,所以对构建速度的要求更高。
发明内容
本申请实施例提供一种基于iOS系统的文件提取方法及装置,以方便测试人员提取iOS系统文件时不必重新全量编译,从而提高系统效率。
第一方面,本申请实施例提供一种基于iOS系统的文件提取方法,包括:
获取文件提取请求,获取所述文件提取请求中的提取参数;
在备份数据库中基于所述提取参数执行匹配操作;
若所述备份数据库中存在与所述提取参数匹配成功的苹果应用程序IPA文件参数,确定所述IPA文件参数对应的目标IPA文件;
基于所述目标IPA文件生成对应的IPA发布信息,依据所述IPA发布信息提取所述目标IPA文件。
第二方面,本申请实施例提供一种基于iOS系统的文件提取装置,包括:
获取模块,用于获取文件提取请求,获取所述文件提取请求中的提取参数;
匹配模块,用于在备份数据库中基于所述提取参数执行匹配操作;若所述备份数据库中存在与所述提取参数匹配成功的苹果应用程序IPA文件参数,确定所述IPA文件参数对应的目标IPA文件;
提取模块,用于基于所述目标IPA文件生成对应的IPA发布信息,依据所述IPA发布信息提取所述目标IPA文件。
第三方面,本申请实施例提供一种基于iOS系统的文件提取系统,包括:
取包模块,用于获取文件提取请求,获取所述文件提取请求中的提取参数;
构建模块,用于在备份数据库中基于所述提取参数执行匹配操作;若所述备份数据库中存在与所述提取参数匹配成功的苹果应用程序IPA文件参数,确定所述IPA文件参数对应的目标IPA文件;基于所述目标IPA文件生成对应的IPA发布信息,依据所述IPA发布信息提取所述目标IPA文件;
所述取包模块,还用于输出所述提取到的所述目标IPA文件。
第四方面,本申请实施例提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机指令,当所述指令在计算机上运行时,使得计算机执行如第一方面中任一项所述的基于iOS系统的文件提取方法。
现有技术中打包流程中生成.xcarchive文件的和重签名的步骤,而由于生成.xcarchive文件的步骤需要在每次执行时进行全量编译,构建时间较长。而在本申请上述实施例中,测试人员在请求提取文件时,若备份数据库中已备份有测试人员请求提取的IPA文件,则可以直接从备份数据库中提取相应的IPA文件并提供给测试人员,而无需重新编译并构建IPA文件,缩短了用户获取打包文件的时间,提高了系统效率。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种iOS系统的文件构建方法的流程示意图;
图2为本申请实施例提供的一种iOS系统的文件构建节点示意图;
图3为本申请实施例提供的另一种iOS系统的文件构建节点示意图;
图4为本申请实施例提供的另一种iOS系统的文件构建节点示意图;
图5为本申请实施例提供的一种测试流程示意图;
图6为本申请实施例提供的一种iOS系统的文件构建装置的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将对本申请的技术方案进行详细的描述。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所得到的所有其它实施方式,都属于本申请所保护的范围。
为了提高iOS系统的文件的提取效率,本申请实施例提供了一种基于iOS系统的文件提取方法及系统。
参见图1,为本申请实施例提供的基于iOS系统的文件提取方法的流程示意图,如图所示,该方法可以包括以下步骤:
步骤101、获取文件提取请求,获取所述文件提取请求中的提取参数。
例如,测试人员在需要进行测试时,可以向文件提取系统输入文件提取请求,该请求中包含有提取参数,该提取参数用于表示请求提取的文件标识,如文件打包时间节点、打包分支、打包种类等。
步骤102、在备份数据库中基于上述提取参数执行匹配操作。
在接收到文件提取请求后,将请求中的提取参数与备份数据库中存储的IPA文件的参数进行匹配、查找,从而确定备份数据库中是否存储有请求提取的IPA文件的备份文件。
步骤103、若备份数据库中存在与上述提取参数匹配成功的IPA文件参数,确定该IPA文件参数对应的目标IPA文件。
若匹配成功,表示备份数据库中存储有请求提取的IPA文件,若匹配失败,则表示备份数据库中没有存储请求提取的IPA文件。
在匹配成功后,将匹配成功的IPA文件参数对应的IPA文件作为目标IPA文件,即用户请求提取的IPA文件。
步骤104、基于目标IPA文件生成对应的IPA发布信息,依据IPA发布信息提取目标IPA文件。
在确定目标IPA文件后,可以进一步确定该目标IPA文件的资源地址,从而实现提取目标IPA文件。
在一种可能的实现方式中,在上述步骤102后,若确定备份数据库中不存在与提取参数匹配成功的IPA文件参数,还可以进一步在缓存数据库中基于该提取参数进行匹配操作。若缓存数据库中存在与上述提取参数匹配成功的缓存文件参数,则确定该缓存文件参数对应的目标缓存文件,然后对目标缓存文件进行压缩,生成目标IPA文件,并基于目标IPA文件生成对应的IPA发布信息,依据该IPA发布信息提取目标IPA文件。其中,缓存文件为后缀为.app的文件。即使备份数据库中不存在与提取参数对应的目标IPA文件,还可以在缓存数据库中查找是否存在与提取参数对应的目标缓存文件,若存在目标缓存文件,则对目标缓存文件进行压缩生成目标IPA文件,也能够避免全量编译过程,从而缩短获取目标IPA文件的时间,提高提取效率。
进一步的,若缓存数据库中不存在与提取参数匹配成功的缓存参数,则表示缓存数据库中不存在对应的目标缓存文件,此时,可以基于提取参数获取与提取参数对应的目标资源文件,然后基于目标资源文件生成目标缓存文件,并对目标缓存文件进行压缩,生成目标IPA文件,再基于目标IPA文件生成对应的IPA发布信息,从而依据IPA发布信息提取目标IPA文件。
具体地,在构建IPA文件时,可以对获取的目标资源文件进行编译签名,从而生成目标缓存文件(即.app文件),然后对目标缓存文件进行压缩生成IPA文件。为了便于进行多次文件构建,可以将生成的目标IPA文件以及相应的参数备份至备份数据库,将生成的目标缓存文件以及相应的参数存储到缓存数据库中,从而使得后续对该IPA文件进行测试时,可以直接从备份数据库中提取,或者,根据缓存的文件生成IPA文件,不必再对资源文件进行全量编译,从而提高构建效率。具体的,可以按照预设的命名规则、路径规则等进行缓存。
在一些实施例中,在基于目标资源文件生成目标缓存文件时,可以基于增量编译机制对目标资源文件进行签名、编译,生成目标缓存文件。例如,可以基于Xcode增量编译机制进行编译,也可以基于二进制编译机制进行编译,或者,还可以基于Xcode增量编译机制和二进制编译机制进行编译,从而实现快速地增量编译,提高系统效率。通过上述构建IPA文件的流程,在需要反复生产.app文件的过程中,例如测试人员进行多次测试时,本申请实施例由于利用了增量编译,并对.app文件和IPA文件进行存储,避免了现有技术中每次测试都需要全量编译,重复生成.app文件,显著提高了打包速度。
在一些实施例中,可以不使用苹果的默认设置进行签名,而是将所需要的描述文件单独归档存放进行定向管理且自定义一个可读性强的命名,在签名时再定向解析信息,根据其中的Entitlements和证书信息进行签名即可。从而避免由于采用增量编译机制进行编译后,可能会使得描述文件过多的问题。可选的,可以采用动态签名方式进行签名,以实现动态配置签名方式、证书、描述文件、版本号、bundleID、预编译宏等等。
可选地,上述实施例可以通过Jenkins平台服务实现。Jenkins是一个开源的、提供友好操作界面的持续集成(CI)工具,起源于Hudson(Hudson是商用的),主要用于持续、自动的构建/测试软件项目、监控外部任务的运行。
在一个具体实施例中,可以利用Jenkins的CI Pipeline框架,开发出一套构建流水线,Pipeline本身是脚本编写的Jenkins File,托管到Git仓库,通过Jenkins SCM管理,每次被触发前都自动更新。在Jenkins File中,设置了多个节点,分别映射到不同独立脚本操作,如图2至图4所述。
基于上述方法实施例进行IPA文件提取时,可以按照图2所示的流程进行,先对脚本代码进行更新,然后进行参数校验,对工程代码进行更新。其中,参数校验包括对触发方式(如开发人员触发、测试人员触发)、提取参数(打包分支、打包种类等)进行验证,验证是否正确,并根据触发方式确定控制标识,例如,若触发方式为开发人员触发,则确定的控制标识可以表示仅进行编译无需进行打包备份(后面均以测试流程需要进行打包备份进行举例)。然后检查是否存在已备份的与提取参数对应的IPA文件,若确定不存在,则继续检查是否存在与提取参数对应的缓存文件(.app文件),若确定仍然不存在,则根据上述方法实施例对资源文件进行编译、打包生成IPA文件。进一步地,打包得到IPA文件后,对IPA文件进行备份,以方便后续更新时利用备份的文件进行快速提取。最后生成所述IPA发布信息,并依据IPA发布信息提取IPA文件。
在如图3所示的流程中,在对脚本代码进行更新、参数校验、更新工程代码之后,若检测到已存在与提取参数对应的目标IPA文件,则可以跳过缓存检测、编译、打包、备份的节点,生成IPA发布信息并发布即可。
如图4所示,在对脚本代码进行更新、参数校验、更新工程代码之后,若检测到不存在与提取参数对应的IPA文件,则进一步检查是否存在与提取参数对应的缓存文件。若存在,则对与提取参数对应的缓存文件进行压缩打包生成IPA文件并进行备份;然后生成IPA发布信息并完成IPA文件的发布。
此外,若在编译、打包时发生异常导致打包失败,可以向此次资源的提供方发送通知消息。
缓存和备份文件需要合理管理,为了防止占用多余磁盘控件,在一种可能的实现方式中,可以预先设置清理配置,对缓存文件和备份IPA文件进行清理。
例如,通过Jenkins的Schedule配置,在非工作时间段触发管理脚本,清理当天工作时间产生的备份文件和缓存文件,并重新为所需资源仓库全量编译一次,作为新一天的增量缓存。
应用本申请上述实施例后,显著提升了测试人员取包的流程。如图5所示,在没有应用本申请实施例时,测试人员每次取包都需要进行全量编译,然后提取相应的IPA文件。而在应用了本申请上述实施例的方案后,开发人员提交了工程代码后,对其进行增量编译,并将生成的缓存文件(.app文件)、IPA文件进行缓存、备份,使得测试人员在取包时,可以从备份数据库中提取IPA文件,显著提升了取包的速度,即使备份数据库中没有目标IPA文件,还可以从缓存数据库中提取.app文件,再对其进行压缩得到IPA文件,该过程所耗费的时间也明显小于进行全量编译的时间。从资源管理角度上看,CI Pipeline引入了备份校验和缓存校验,避免相同工程资源重复打包现象造成的资源浪费。从安全预警角度来看,原取包模式下的文件构建问题会暴露在测试阶段,而新取包模式中的文件构建问题会直接暴露在开发阶段,文件构建失败会可以通知开发者。
上述方法实施例可以应用于基于iOS系统的文件提取系统中。具体的,该系统可以包括:
取包模块,用于获取文件提取请求,获取所述文件提取请求中的提取参数;
构建模块,用于在备份数据库中基于所述提取参数执行匹配操作;若所述备份数据库中存在与所述提取参数匹配成功的苹果应用程序IPA文件参数,确定所述IPA文件参数对应的目标IPA文件;基于所述目标IPA文件生成对应的IPA发布信息,依据所述IPA发布信息提取所述目标IPA文件;
所述取包模块,还用于输出所述提取到的所述目标IPA文件。
在一个具体实施例中,上述模块均是基于Jenkins服务实现。具体的,取包模块是提供给测试人员的Jenkins任务,该任务设定了一些构建参数供测试人员选择,在测试人员选择相应的参数后,通过Jenkins Trigger Remote Parameterized Job传递参数并触发负责构建模块(CI Pipeline),CI Pipeline执行完成后,通过Jenkins API修改取包模块的描述(Description)作为本次任务的动态反馈。
进一步的,该系统还可以包括重置模块,基于Jenkins的Schedule配置实现对构建文件和编译缓存的清理。
基于相同的技术构思,本申请实施例还提供一种iOS系统的文件构建装置,如图6所示,该装置可以包括:
获取模块601,用于获取文件提取请求,获取所述文件提取请求中的提取参数。
匹配模块602,用于在备份数据库中基于所述提取参数执行匹配操作;若所述备份数据库中存在与所述提取参数匹配成功的苹果应用程序IPA文件参数,确定所述IPA文件参数对应的目标IPA文件。
提取模块603,用于基于所述目标IPA文件生成对应的IPA发布信息,依据所述IPA发布信息提取所述目标IPA文件。
在一种可能的实现方式中,匹配模块602还用于:若所述备份数据库中不存在与所述提取参数匹配成功的IPA文件参数,则在缓存数据库中基于所述提取参数执行匹配操作;若所述缓存数据库中存在与所述提取参数匹配成功的缓存文件参数,确定所述缓存文件参数对应的目标缓存文件;
提取模块603还用于:对所述目标缓存文件进行压缩,生成目标IPA文件;基于所述目标IPA文件生成对应的IPA发布信息,依据所述IPA发布信息提取所述目标IPA文件。
在一种可能的实现方式中,提取模块603还用于:若所述缓存数据库中不存在与所述提取参数匹配成功的缓存参数,则基于所述提取参数获取与所述提取参数对应的目标资源文件;基于所述目标资源文件生成目标缓存文件;基于所述目标缓存文件生成目标IPA文件;基于所述目标IPA文件生成对应的IPA发布信息,依据所述IPA发布信息提取所述目标IPA文件。
在一种可能的实现方式中,提取模块603在基于所述目标资源文件生成目标缓存文件时,具体用于:基于增量编译机制对所述目标资源文件进行签名、编译,生成目标缓存文件。
在一种可能的实现方式中,所述增量编译机制包括Xcode增量编译机制和/或二进制编译机制。
在一种可能的实现方式中,提取模块603在对所述目标资源文件进行签名时,具体用于:根据动态配置的签名参数对所述目标资源文件进行签名。
在一种可能的实现方式中,提取模块603在生成目标IPA文件之后,还用于:对所述目标IPA文件进行备份,并生成所述目标IPA文件的参数信息;将备份IPA文件和所述参数信息存储到所述备份数据库中。
在一种可能的实现方式中,所述提取请求中还包括:触发方式;提取模块603还用于:根据所述触发方式确定控制标识,所述控制标识用于表示所述是否对IPA文件进行备份。
在一种可能的实现方式中,所述装置还包括更新模块,用于在获取模块601获取所述文件提取请求中的提取参数之前,对所述基于iOS系统的文件提取方法的脚本进行更新。
在一种可能的实现方式中,上述各模块通过Jenkins平台服务实现。
现有技术中打包流程中生成.xcarchive文件的和重签名的步骤,而由于生成.xcarchive文件的步骤需要在每次执行时进行全量编译,构建时间较长。而在本申请上述实施例中,测试人员在请求提取文件时,若备份数据库中已备份有测试人员请求提取的IPA文件,则可以直接从备份数据库中提取相应的IPA文件并提供给测试人员,而无需重新编译并构建IPA文件,缩短了用户获取打包文件的时间,提高了系统效率。
基于相同的技术构思,本申请实施例提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机指令,当所述指令在计算机上运行时,使得计算机执行如前所述的基于iOS系统的文件提取方法。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其同等技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (6)
1.一种基于iOS系统的文件提取方法,其特征在于,包括:
获取文件提取请求,获取所述文件提取请求中的提取参数;
在备份数据库中基于所述提取参数执行匹配操作;
若所述备份数据库中存在与所述提取参数匹配成功的苹果应用程序IPA文件参数,确定所述IPA文件参数对应的目标IPA文件;
若所述备份数据库中不存在与所述提取参数匹配成功的IPA文件参数,则在缓存数据库中基于所述提取参数执行匹配操作;
若所述缓存数据库中存在与所述提取参数匹配成功的缓存文件参数,确定所述缓存文件参数对应的目标缓存文件;
对所述目标缓存文件进行压缩,生成目标IPA文件;
若所述缓存数据库中不存在与所述提取参数匹配成功的缓存参数,则基于所述提取参数获取与所述提取参数对应的目标资源文件;
基于所述目标资源文件生成目标缓存文件;
基于所述目标缓存文件生成目标IPA文件;
基于所述目标IPA文件生成对应的IPA发布信息,依据所述IPA发布信息提取所述目标IPA文件;
所述基于所述目标资源文件生成目标缓存文件,包括:
基于增量编译机制对所述目标资源文件进行签名、编译,生成目标缓存文件;
所述增量编译机制包括Xcode增量编译机制和/或二进制编译机制。
2.根据权利要求1所述的方法,其特征在于,所述对所述目标资源文件进行签名,包括:
根据动态配置的签名参数对所述目标资源文件进行签名。
3.根据权利要求1所述的方法,其特征在于,在生成目标IPA文件之后,所述方法还包括:
对所述目标IPA文件进行备份,并生成所述目标IPA文件的参数信息;
将备份IPA文件和所述参数信息存储到所述备份数据库中。
4.根据权利要求3所述的方法,其特征在于,所述提取请求中还包括:触发方式;
在获取所述文件提取请求中的提取参数之后,所述方法还包括:
根据所述触发方式确定控制标识,所述控制标识用于表示是否对所述目标IPA文件进行备份。
5.根据权利要求1所述的方法,其特征在于,在获取所述文件提取请求中的提取参数之前,所述方法还包括:
对所述基于iOS系统的文件提取方法的脚本进行更新。
6.一种基于iOS系统的文件提取装置,其特征在于,包括:
获取模块,用于获取文件提取请求,获取所述文件提取请求中的提取参数;
匹配模块,用于在备份数据库中基于所述提取参数执行匹配操作;若所述备份数据库中存在与所述提取参数匹配成功的苹果应用程序IPA文件参数,确定所述IPA文件参数对应的目标IPA文件;
提取模块,用于若所述备份数据库中不存在与所述提取参数匹配成功的IPA文件参数,则在缓存数据库中基于所述提取参数执行匹配操作;
若所述缓存数据库中存在与所述提取参数匹配成功的缓存文件参数,确定所述缓存文件参数对应的目标缓存文件;
对所述目标缓存文件进行压缩,生成目标IPA文件;
若所述缓存数据库中不存在与所述提取参数匹配成功的缓存参数,则基于所述提取参数获取与所述提取参数对应的目标资源文件;
基于所述目标资源文件生成目标缓存文件;
基于所述目标缓存文件生成目标IPA文件;
基于所述目标IPA文件生成对应的IPA发布信息,依据所述IPA发布信息提取所述目标IPA文件;
所述基于所述目标资源文件生成目标缓存文件,包括:
基于增量编译机制对所述目标资源文件进行签名、编译,生成目标缓存文件;
所述增量编译机制包括Xcode增量编译机制和/或二进制编译机制。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010761904.1A CN111949273B (zh) | 2020-07-31 | 2020-07-31 | 一种基于iOS系统的文件提取方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010761904.1A CN111949273B (zh) | 2020-07-31 | 2020-07-31 | 一种基于iOS系统的文件提取方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111949273A CN111949273A (zh) | 2020-11-17 |
CN111949273B true CN111949273B (zh) | 2023-04-07 |
Family
ID=73339032
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010761904.1A Active CN111949273B (zh) | 2020-07-31 | 2020-07-31 | 一种基于iOS系统的文件提取方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111949273B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113467825A (zh) * | 2021-06-30 | 2021-10-01 | 完美世界(北京)软件科技发展有限公司 | Ipa数据展示系统及其方法、装置、设备及计算机可读介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104503741A (zh) * | 2014-12-01 | 2015-04-08 | 北京金和软件股份有限公司 | 一种制作和发布app一体化的系统 |
CN107357857A (zh) * | 2017-06-29 | 2017-11-17 | 深圳市金立通信设备有限公司 | 一种更新缓存信息的方法及服务节点设备 |
CN108469957A (zh) * | 2018-03-08 | 2018-08-31 | 平安科技(深圳)有限公司 | 应用打包上传方法、装置、计算机设备及存储介质 |
CN108829400A (zh) * | 2018-05-15 | 2018-11-16 | 苏州玩友时代科技股份有限公司 | 一种iOS无须反复编译的渠道打包方法 |
CN109783129A (zh) * | 2018-12-15 | 2019-05-21 | 深圳壹账通智能科技有限公司 | 应用程序处理方法、装置、计算机设备及存储介质 |
CN109947795A (zh) * | 2017-10-11 | 2019-06-28 | 阿里巴巴集团控股有限公司 | 目标数据的获取方法和装置 |
CN110851135A (zh) * | 2019-09-12 | 2020-02-28 | 中国平安财产保险股份有限公司 | 应用程序自动构建上传方法、装置及计算机设备、存储介质 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8799409B2 (en) * | 2009-01-15 | 2014-08-05 | Ebay Inc. | Server side data cache system |
US9959100B2 (en) * | 2015-08-12 | 2018-05-01 | Oracle International Corporation | Efficient storage and transfer of iOS binary files |
CN106843909A (zh) * | 2017-03-07 | 2017-06-13 | 东软集团股份有限公司 | 支持渠道定制的渠道打包方法及装置 |
CN107832057A (zh) * | 2017-10-31 | 2018-03-23 | 福建天泉教育科技有限公司 | 一种iOS应用的构建方法及终端 |
CN109558378A (zh) * | 2018-11-28 | 2019-04-02 | 泰康保险集团股份有限公司 | 文件管理方法、装置、设备及存储介质 |
CN111026398B (zh) * | 2019-10-28 | 2023-08-11 | 贝壳技术有限公司 | 基于缓存的数据集成的构建方法与构建系统 |
CN111078278B (zh) * | 2019-12-21 | 2020-09-08 | 众能联合数字技术有限公司 | 支持Flutter及iOS混编工程的自动化打包方法 |
CN111240689B (zh) * | 2020-01-13 | 2023-08-01 | 广州虎牙科技有限公司 | 应用程序的构建方法、装置、设备及存储介质 |
-
2020
- 2020-07-31 CN CN202010761904.1A patent/CN111949273B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104503741A (zh) * | 2014-12-01 | 2015-04-08 | 北京金和软件股份有限公司 | 一种制作和发布app一体化的系统 |
CN107357857A (zh) * | 2017-06-29 | 2017-11-17 | 深圳市金立通信设备有限公司 | 一种更新缓存信息的方法及服务节点设备 |
CN109947795A (zh) * | 2017-10-11 | 2019-06-28 | 阿里巴巴集团控股有限公司 | 目标数据的获取方法和装置 |
CN108469957A (zh) * | 2018-03-08 | 2018-08-31 | 平安科技(深圳)有限公司 | 应用打包上传方法、装置、计算机设备及存储介质 |
CN108829400A (zh) * | 2018-05-15 | 2018-11-16 | 苏州玩友时代科技股份有限公司 | 一种iOS无须反复编译的渠道打包方法 |
CN109783129A (zh) * | 2018-12-15 | 2019-05-21 | 深圳壹账通智能科技有限公司 | 应用程序处理方法、装置、计算机设备及存储介质 |
CN110851135A (zh) * | 2019-09-12 | 2020-02-28 | 中国平安财产保险股份有限公司 | 应用程序自动构建上传方法、装置及计算机设备、存储介质 |
Non-Patent Citations (4)
Title |
---|
使用 Jenkins 实现移动 APP 持续集成构建检查;debugtalk;《https://zhuanlan.zhihu.com/p/22017361》;20160815;全文 * |
基于Jenkins的WPS for iOS的自动构建服务器的设计;穆荣等;《科技与创新》;20171231(第18期);全文 * |
浅谈iOS打包方式及流程;明天不用上课;《https://www.jianshu.com/p/58a5d9636ae6》;20151204;全文 * |
让程序员变懒的工具 : Jenkins + 蒲公英;answer-huang;《https://www.51cto.com/article/474276.html》;20150428;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN111949273A (zh) | 2020-11-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11775416B2 (en) | System and method for continuous testing and delivery of software | |
US9703677B2 (en) | Code coverage plugin | |
US10430319B1 (en) | Systems and methods for automatic software testing | |
CN104391795B (zh) | 一种分布式系统中自动化测试覆盖率的测试方法及系统 | |
US8756460B2 (en) | Test selection based on an N-wise combinations coverage | |
US10671510B1 (en) | Techniques for evaluating collected build metrics during a software build process | |
CN110187914B (zh) | 应用开发方法、系统及装置 | |
US8589882B2 (en) | Analyzing computer code development actions and process | |
US20100005341A1 (en) | Automatic detection and notification of test regression with automatic on-demand capture of profiles for regression analysis | |
US9569204B2 (en) | End-to-end continuous integration and verification of software | |
CN108228190B (zh) | 持续集成和交付方法、系统、设备及计算机可读存储介质 | |
WO2012068850A1 (zh) | 软件版本的构建方法和系统 | |
US20200034282A1 (en) | Object-oriented regression-candidate filter | |
CN103186463B (zh) | 确定软件的测试范围的方法和系统 | |
US20210048999A1 (en) | Automated generation of status chains for software updates | |
CN111949273B (zh) | 一种基于iOS系统的文件提取方法及装置 | |
CN110888804B (zh) | 接口测试方法以及接口测试平台 | |
CN111651358A (zh) | 生成测试用例的方法、软件测试方法、装置和服务器 | |
CN109462507B (zh) | 配置更新方法、装置、系统及电子设备 | |
CN113721948A (zh) | 一种数据库升级方法、系统及存储介质 | |
CN106557419B (zh) | 程序的测试方法及装置 | |
CN113535538B (zh) | 应用全链路自动化测试方法、装置、电子设备和存储介质 | |
CN116016270A (zh) | 一种交换机测试管理方法、装置、电子设备和存储介质 | |
CN111813662A (zh) | 用户行为驱动的可持续集成的测试方法、装置和设备 | |
CN112015427A (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 | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: 518000 3506, phase II, Qianhai Shimao financial center, No. 3040, Xinghai Avenue, Nanshan street, Qianhai Shenzhen Hong Kong cooperation zone, Shenzhen, Guangdong Applicant after: Shenzhen aiteyun Information Technology Co.,Ltd. Address before: 518000 Room 201, building A, No. 1, Qian Wan Road, Qianhai Shenzhen Hong Kong cooperation zone, Shenzhen, Guangdong (Shenzhen Qianhai business secretary Co., Ltd.) Applicant before: SHENZHEN ZHENAIYUN INFORMATION TECHNOLOGY Co.,Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |