CN116700735A - 应用程序构建方法、系统及存储介质 - Google Patents

应用程序构建方法、系统及存储介质 Download PDF

Info

Publication number
CN116700735A
CN116700735A CN202310837521.1A CN202310837521A CN116700735A CN 116700735 A CN116700735 A CN 116700735A CN 202310837521 A CN202310837521 A CN 202310837521A CN 116700735 A CN116700735 A CN 116700735A
Authority
CN
China
Prior art keywords
terminal
software package
environment
target
dynamic
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.)
Pending
Application number
CN202310837521.1A
Other languages
English (en)
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.)
Ping An Life Insurance Company of China Ltd
Original Assignee
Ping An Life Insurance Company of China 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 Ping An Life Insurance Company of China Ltd filed Critical Ping An Life Insurance Company of China Ltd
Priority to CN202310837521.1A priority Critical patent/CN116700735A/zh
Publication of CN116700735A publication Critical patent/CN116700735A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
    • G06F9/45508Runtime interpretation or emulation, e g. emulator loops, bytecode interpretation
    • G06F9/45512Command shells
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)

Abstract

本申请实施例提供了一种应用程序构建方法、系统及存储介质,属于金融科技技术领域。该方法包括:第一终端获取目标工程和环境获取脚本;第一终端对目标工程进行编译处理,得到软件包;第一终端根据环境获取脚本和软件包确定软件包的动态变量,并将动态变量导入到软件包;第二终端获取来自第一终端的软件包;第二终端根据预设的环境加载脚本,在软件包中提取出动态变量,并根据动态变量确定环境变量;第二终端对环境变量进行加载处理;第二终端根据加载后的环境变量,对软件包进行打包得到iOS应用程序。本申请实施例在开发金融业务iOS应用程序时,通过自动配置第二终端的环境变量,能够减少环境变量的配置耗时,提高金融业务iOS应用程序的开发效率。

Description

应用程序构建方法、系统及存储介质
技术领域
本申请涉及但不限于金融科技技术领域,尤其涉及一种应用程序构建方法、系统及存储介质。
背景技术
金融业务系统在处理金融行业相关的业务时,通常需要运行配套的应用程序,金融业务系统可以是保险系统、银行系统、交易系统、订单系统,针对苹果移动设备操作系统(iPhone Operating System,iOS),需要开发相应的金融业务iOS应用程序,通常采用多人协作模式进行开发,将一个开发项目拆分成多个可独立运行的组件,不同开发团队负责不同的组件。
目前,在开发金融业务iOS应用程序时,不同开发人员通常使用不同的设备进行开发,任意一台设备都可以对开发项目进行打包,得到应用程序,但是,由于不同设备上完成打包操作所对应的运行环境存在差异,为了有效完成金融业务iOS应用程序的打包操作,开发人员需要手动配置各个设备的环境变量,环境变量的配置耗时长,导致金融业务iOS应用程序的开发效率低,无法有效处理金融行业的相关业务,影响用户体验。
发明内容
以下是对本文详细描述的主题的概述。本概述并非是为了限制权利要求的保护范围。
本申请实施例提供了一种应用程序构建方法、系统及存储介质,能够减少环境变量的配置耗时,提高金融业务iOS应用程序的开发效率。
为实现上述目的,本申请实施例的第一方面提出了一种应用程序构建方法,包括:第一终端获取目标工程和环境获取脚本;所述第一终端对所述目标工程进行编译处理,得到软件包;所述第一终端根据所述环境获取脚本和所述软件包确定所述软件包的动态变量,并将所述动态变量导入到所述软件包;第二终端获取来自所述第一终端的软件包;所述第二终端根据预设的环境加载脚本,在所述软件包中提取出所述动态变量,并根据所述动态变量确定环境变量;所述第二终端对所述环境变量进行加载处理;所述第二终端根据加载后的所述环境变量,对所述软件包进行打包得到iOS应用程序。
在一些实施例中,所述第一终端获取目标工程和环境获取脚本,包括:第一终端获取iOS工程和所述iOS工程的声明文件,其中,所述声明文件用于声明所述iOS工程对待编译的目标组件的依赖;所述第一终端根据所述声明文件,向预设的组件管理平台发送请求指令,以从所述组件管理平台获取所述目标组件;所述第一终端将所述目标组件集成到所述iOS工程得到目标工程;所述第一终端获取环境获取脚本。
在一些实施例中,所述声明文件包括依赖表,所述依赖表包括多个用于指示所述目标组件的组件声明信息;所述第一终端根据所述声明文件,向预设的组件管理平台发送请求指令,以从所述组件管理平台获取所述目标组件,包括:所述第一终端根据所述组件声明信息,生成请求指令;所述第一终端遍历所述依赖表的组件声明信息,依次向所述预设的组件管理平台发送所述组件声明信息对应的所述请求指令,以从所述组件管理平台获取所述组件声明信息对应的所述目标组件。
在一些实施例中,所述第一终端获取环境获取脚本,包括:所述第一终端获取任务信息;所述第一终端按照所述任务信息,对所述iOS工程的任务配置进行更新;当所述第一终端将所述目标组件集成到所述iOS工程,所述第一终端根据更新后的所述任务配置生成环境获取脚本。
在一些实施例中,所述声明文件还包括用于指示所述目标组件的函数库类型的类型声明信息,其中,所述函数库类型包括动态库类型和静态库类型;所述第一终端对所述目标工程进行编译处理,得到软件包,包括:所述第一终端遍历所述目标工程中的所有所述目标组件,依次对所述目标组件进行编译处理;当所述目标组件的函数库类型为动态库类型,所述第一终端将所述目标组件编译为动态库文件;当所述目标组件的函数库类型为静态库类型,所述第一终端将所述目标组件编译为静态库文件;所述第一终端根据所述动态库文件和所述静态库文件,得到软件包。
在一些实施例中,所述第一终端根据所述环境获取脚本和所述软件包确定所述软件包的动态变量,并将所述动态变量导入到所述软件包,包括:所述第一终端根据所述环境获取脚本,确定生成规则;所述第一终端根据所述生成规则,在所述软件包的目标路径下生成目标文件夹;所述第一终端根据所述环境获取脚本和所述软件包,确定所述软件包的动态变量;所述第一终端将所述动态变量导入到所述目标文件夹内。
在一些实施例中,所述第二终端根据预设的环境加载脚本,在所述软件包中提取出所述动态变量,并根据所述动态变量确定环境变量,包括:所述第二终端根据预设的环境加载脚本,确定加载规则和配置规则,其中,所述加载规则与所述生成规则匹配,所述配置规则用于指示所述第二终端的目标环境配置;所述第二终端根据所述加载规则,在所述软件包中提取出所述动态变量;所述第二终端根据所述配置规则,在所述动态变量中确定与所述目标环境配置相匹配的环境变量。
在一些实施例中,所述第一终端对所述目标工程进行编译处理,得到软件包,包括:所述第一终端对所述目标工程进行编译处理,得到工程标识和多个第一编译数据;所述第一终端根据所述多个第一编译数据,得到软件包,其中,所述软件包与所述工程标识对应。
为实现上述目的,本申请实施例的第二方面提出了一种应用程序构建系统,包括:第一终端,用于获取目标工程和环境获取脚本;所述第一终端还用于对所述目标工程进行编译处理,得到软件包;所述第一终端还用于根据所述环境获取脚本和所述软件包确定所述软件包的动态变量,并将所述动态变量导入到所述软件包;第二终端,用于获取来自所述第一终端的软件包;所述第二终端还用于根据预设的环境加载脚本,在所述软件包中提取出所述动态变量,并根据所述动态变量确定环境变量;所述第二终端还用于对所述环境变量进行加载处理;所述第二终端还用于根据加载后的所述环境变量,对所述软件包进行打包得到iOS应用程序。
为实现上述目的,本申请实施例的第三方面提出了一种存储介质,所述存储介质为计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面所述的应用程序构建方法。
本申请提出的应用程序构建方法、系统及存储介质,本申请实施例包括:第一终端获取目标工程和环境获取脚本;所述第一终端对所述目标工程进行编译处理,得到软件包;所述第一终端根据所述环境获取脚本和所述软件包确定所述软件包的动态变量,并将所述动态变量导入到所述软件包;第二终端获取来自所述第一终端的软件包;所述第二终端根据预设的环境加载脚本,在所述软件包中提取出所述动态变量,并根据所述动态变量确定环境变量;所述第二终端对所述环境变量进行加载处理;所述第二终端根据加载后的所述环境变量,对所述软件包进行打包得到iOS应用程序。根据本申请实施例提供的方案,通过第一终端对目标工程进行编译处理得到软件包,并通过在第一终端设置环境获取脚本,从而通过环境获取脚本确定软件包的动态变量,然后将动态变量导入到软件包中,当第二终端获取软件包后,第二终端通过环境加载脚本,从获取的软件包中得到动态变量,进而确定环境变量,然后对环境变量进行加载处理,以配置第二终端的环境变量,从而对软件包进行打包得到iOS应用程序,通过自动配置第二终端的环境变量,能够减少环境变量的配置耗时,提高金融业务iOS应用程序的开发效率,能够有效处理金融行业的相关业务,保证用户体验。
本申请的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请而了解。本申请的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
附图说明
附图用来提供对本申请技术方案的进一步理解,并且构成说明书的一部分,与本申请的实施例一起用于解释本申请的技术方案,并不构成对本申请技术方案的限制。
图1是本申请一个实施例提供的应用程序构建方法的流程图;
图2是本申请另一个实施例提供的一种获取目标工程和环境获取脚本的方法的流程图;
图3是本申请另一个实施例提供的一种获取目标组件的方法的流程图;
图4是本申请另一个实施例提供的一种生成环境获取脚本的方法的流程图;
图5是本申请另一个实施例提供的一种得到软件包的方法的流程图;
图6是本申请另一个实施例提供的一种确定动态变量的方法的流程图;
图7是本申请另一个实施例提供的一种确定环境变量的方法的流程图;
图8是本申请另一个实施例提供的另一种得到软件包的方法的流程图;
图9是本申请另一个实施例提供的应用程序构建系统的结构示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。
在本申请的描述中,若干个的含义是一个或者多个,多个的含义是两个以上,大于、小于、超过等理解为不包括本数,以上、以下、以内等理解为包括本数。
需要说明的是,虽然在装置示意图中进行了功能模块划分,在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于装置中的模块划分,或流程图中的顺序执行所示出或描述的步骤。说明书、权利要求书或上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
首先,对本申请中涉及的若干名词进行解析:
软件开发工具包(Software Development Kit,SDK),是一些被软件工程师用于为特定的软件包、软件框架、硬件平台、操作系统等创建应用软件的开发工具的集合。
苹果移动设备操作系统(iPhone Operating System,iOS),是由苹果公司开发的手持设备操作系统,iOS与苹果公司的Mac OS X操作系统一样,也是以Darwin为基础的,因此同样属于类Unix的商业操作系统。
CocoaPods是Swift和Objective-C Cocoa项目的依赖管理器,它拥有93000多个库,在300多万个应用程序中使用,CocoaPods可以帮助您优雅地扩展项目。
目前,在开发金融业务iOS应用程序时,不同开发人员通常使用不同的设备进行开发,任意一台设备都可以对开发项目进行打包,得到应用程序,但是,由于不同设备上完成打包操作所对应的运行环境存在差异,为了有效完成金融业务iOS应用程序的打包操作,开发人员需要手动配置各个设备的环境变量,环境变量的配置耗时长,导致金融业务iOS应用程序的开发效率低,无法有效处理金融行业的相关业务,影响用户体验。
针对环境变量的配置耗时长,导致金融业务iOS应用程序的开发效率低的问题,本申请提供了一种应用程序构建方法、系统及存储介质,该方法包括:第一终端获取目标工程和环境获取脚本;第一终端对目标工程进行编译处理,得到软件包;第一终端根据环境获取脚本和软件包确定软件包的动态变量,并将动态变量导入到软件包;第二终端获取来自第一终端的软件包;第二终端根据预设的环境加载脚本,在软件包中提取出动态变量,并根据动态变量确定环境变量;第二终端对环境变量进行加载处理;第二终端根据加载后的环境变量,对软件包进行打包得到iOS应用程序。根据本申请实施例提供的方案,通过第一终端对目标工程进行编译处理得到软件包,并通过在第一终端设置环境获取脚本,从而通过环境获取脚本确定软件包的动态变量,然后将动态变量导入到软件包中,当第二终端获取软件包后,第二终端通过环境加载脚本,从获取的软件包中得到动态变量,进而确定环境变量,然后对环境变量进行加载处理,以配置第二终端的环境变量,从而对软件包进行打包得到iOS应用程序,通过自动配置第二终端的环境变量,能够减少环境变量的配置耗时,提高金融业务iOS应用程序的开发效率,能够有效处理金融行业的相关业务,保证用户体验。
本申请实施例提供的应用程序构建方法、系统及存储介质,具体通过如下实施例进行说明,首先描述本申请实施例中的应用程序构建方法。
本申请实施例提供的应用程序构建方法,涉及金融科技技术领域。本申请实施例提供的应用程序构建方法可应用于终端中,也可应用于服务器端中,还可以是运行于终端或服务器端中的软件。在一些实施例中,终端可以是智能手机、平板电脑、笔记本电脑、台式计算机等;服务器端可以配置成独立的物理服务器,也可以配置成多个物理服务器构成的服务器集群或者分布式系统,还可以配置成提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN以及大数据和人工智能平台等基础云计算服务的云服务器;软件可以是实现应用程序构建方法的应用等,但并不局限于以上形式。
本申请可用于众多通用或专用的计算机系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的消费电子设备、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
需要说明的是,在本申请的各个具体实施方式中,当涉及到需要根据对象信息、对象操作数据,对象历史数据以及对象位置信息等与对象身份或特性相关的数据进行相关处理时,都会先获得对象的许可或者同意,而且,对这些数据的收集、使用和处理等,都会遵守相关法律法规和标准。此外,当本申请实施例需要获取对象的敏感个人信息时,会通过弹窗或者跳转到确认页面等方式获得对象的单独许可或者单独同意,在明确获得对象的单独许可或者单独同意之后,再获取用于使本申请实施例能够正常运行的必要的对象相关数据。
下面结合附图,对本申请实施例作进一步阐述。
如图1所示,图1是本申请一个实施例提供的一种应用程序构建方法的流程图。该应用程序构建方法包括但不限于如下步骤:
步骤S110,第一终端获取目标工程和环境获取脚本;
步骤S120,第一终端对目标工程进行编译处理,得到软件包;
步骤S130,第一终端根据环境获取脚本和软件包确定软件包的动态变量,并将动态变量导入到软件包;
步骤S140,第二终端获取来自第一终端的软件包;
步骤S150,第二终端根据预设的环境加载脚本,在软件包中提取出动态变量,并根据动态变量确定环境变量;
步骤S160,第二终端对环境变量进行加载处理;
步骤S170,第二终端根据加载后的环境变量,对软件包进行打包得到iOS应用程序。
可以理解的是,在开发金融业务iOS应用程序的过程中,不同开发人员通常采用不同的终端设备进行开发,开发过程中的构建过程和打包过程是分开的,例如,由多个第一开发人员共同完成构建过程,第一开发人员所使用的终端设备定义为第一终端,第一开发人员通过第一终端对目标工程进行编译处理,得到软件开发工具包,即软件包,并通过环境获取脚本确定软件包的动态变量,然后将动态变量导入到软件包,从而完成构建过程,然后,由第二开发人员完成打包过程,第二开发人员所使用的终端设备定义为第二终端,第二开发人员通过第二终端获取第一终端的构建结果,并通过环境加载脚本提取动态变量,进而确定环境变量并加载环境变量,最后通过第二终端对软件包进行打包,得到iOS应用程序,从而完成打包过程,通过自动配置第二终端的环境变量,能够减少环境变量的配置耗时;基于此,通过第一终端对目标工程进行编译处理得到软件包,并通过在第一终端设置环境获取脚本,从而通过环境获取脚本确定软件包的动态变量,然后将动态变量导入到软件包中,当第二终端获取软件包后,第二终端通过环境加载脚本,从获取的软件包中得到动态变量,进而确定环境变量,然后对环境变量进行加载处理,以配置第二终端的环境变量,从而对软件包进行打包得到iOS应用程序,通过自动配置第二终端的环境变量,能够减少环境变量的配置耗时,提高金融业务iOS应用程序的开发效率,能够有效处理金融行业的相关业务,保证用户体验。
其中,以银行系统为例,在处理申请贷款或信用卡等业务时,用户可通过苹果移动设备上的金融业务iOS应用程序访问银行系统,当银行系统推出新的金融业务或者更新原有的金融业务时,需要对金融业务iOS应用程序进行更新,为了有效处理金融行业的相关业务,需要提高金融业务应用程序的开发效率。
例如,银行系统新增一项信用卡申请业务后,需要发布新版本的金融业务iOS应用程序,首先通过第一终端对金融业务iOS应用程序的目标工程进行编译处理,得到软件开发工具包,即软件包,并通过环境获取脚本确定软件包的动态变量,然后将动态变量导入到软件包,从而完成构建过程,然后,通过第二终端获取第一终端的构建结果,并通过环境加载脚本提取动态变量,进而确定环境变量并加载环境变量,最后通过第二终端对软件包进行打包,得到iOS应用程序,从而完成打包过程,并对打包好的iOS应用程序进行发布处理,通过自动配置第二终端的环境变量,能够减少环境变量的配置耗时,提高金融业务iOS应用程序的开发效率,用户能够通过新发布的金融业务iOS应用程序有效处理新增的信用卡申请业务,保证用户体验。
在具体实践中,iOS应用程序可用于处理金融行业相关的业务,金融行业相关的业务包括但不限于:商务业务、支付业务、交易业务、证券业务、银行业务、税务业务、信用卡业务、购物业务和保险业务。
另外,参照图2,在一实施例中,图1所示实施例中的步骤S110,包括但不限于有以下步骤:
步骤S210,第一终端获取iOS工程和iOS工程的声明文件,其中,声明文件用于声明iOS工程对待编译的目标组件的依赖;
步骤S220,第一终端根据声明文件,向预设的组件管理平台发送请求指令,以从组件管理平台获取目标组件;
步骤S230,第一终端将目标组件集成到iOS工程得到目标工程;
步骤S240,第一终端获取环境获取脚本。
可以理解的是,金融业务iOS应用程序的iOS工程是一个不包括目标工程中的组件的空工程,iOS工程与目标工程在形式和结构上类似,具体的,第一终端设置有交互界面,开发人员可通过第一终端的交互界面创建iOS工程和iOS工程的声明文件,或者,iOS工程和iOS工程的声明文件预先创建在第一终端内,第一终端能够有效获取iOS工程和iOS工程的声明文件,值得注意的是,iOS工程和iOS工程的声明文件还可以通过其他方式来创建,在此不出作限制;组件管理平台是指对多个应用程序组件进行存储和管理的平台,第一终端能够与组件管理平台进行通信,进而通过发送请求指令来获得目标组件,并通过CocoaPods管理所获得的目标组件,然后第一终端通过集成处理,将所有目标组件集成到空的iOS工程,得到金融业务iOS应用程序的目标工程,第一终端还会获取环境获取脚本。
另外,参照图3,在一实施例中,声明文件包括依赖表,依赖表包括多个用于指示目标组件的组件声明信息;图2所示实施例中的步骤S220,包括但不限于有以下步骤:
步骤S310,第一终端根据组件声明信息,生成请求指令;
步骤S320,第一终端遍历依赖表的组件声明信息,依次向预设的组件管理平台发送组件声明信息对应的请求指令,以从组件管理平台获取组件声明信息对应的目标组件。
可以理解的是,在声明文件中会设置有依赖表,依赖表内记录着iOS工程所依赖的所有目标组件,即组件声明信息;通过遍历依赖表的组件声明信息,将每个目标组件对应的请求指令按顺序发送至组件管理平台,从而从组件管理平台获取每个目标组件,具体的,在开发金融业务iOS应用程序的过程中,第一终端通过执行pod install命令来实现获取目标组件。
另外,参照图4,在一实施例中,图2所示实施例中的步骤S240,包括但不限于有以下步骤:
步骤S410,第一终端获取任务信息;
步骤S420,第一终端按照任务信息,对iOS工程的任务配置进行更新;
步骤S430,当第一终端将目标组件集成到iOS工程,第一终端根据更新后的任务配置生成环境获取脚本。
可以理解的是,第一终端获取任务信息后,按照任务信息的内容,在iOS工程的Podfile中插入第一任务脚本,相当于更新任务配置,相当于第一任务脚本会在第一终端将目标组件集成到iOS工程时触发,第一终端按照第一任务脚本的内容,生成环境获取脚本,并自动修改iOS工程的Build Phases配置,在Build Phases配置中插入该环境获取脚本,因此,使用多个第一终端进行金融业务iOS应用程序的项目开发时,可以在每个第一终端的项目中自动插入环境获取脚本,即ExportEnv脚本。
如图5所示,在一实施例中,声明文件还包括用于指示目标组件的函数库类型的类型声明信息,其中,函数库类型包括动态库类型和静态库类型;图1所示实施例中的步骤S120,包括但不限于有以下步骤:
步骤S510,第一终端遍历目标工程中的所有目标组件,依次对目标组件进行编译处理;
步骤S520,当目标组件的函数库类型为动态库类型,第一终端将目标组件编译为动态库文件;
步骤S530,当目标组件的函数库类型为静态库类型,第一终端将目标组件编译为静态库文件;
步骤S540,第一终端根据动态库文件和静态库文件,得到软件包。
可以理解的是,在金融业务iOS应用程序的过程中,第一终端会依次对各个目标组件进行编译处理,并根据目标组件的函数库类型来调整目标组件的编译过程,当目标组件的函数库类型为动态库类型,第一终端会将目标组件编译为动态库文件,即动态库framework,当目标组件的函数库类型为静态库类型,第一终端会将目标组件编译为静态库文件,即静态库library,并将动态库framework和静态库library存放在Derived Data文件夹中,得到软件开发工具包,即软件包。
如图6所示,在一实施例中,图1所示实施例中的步骤S130,包括但不限于有以下步骤:
步骤S610,第一终端根据环境获取脚本,确定生成规则;
步骤S620,第一终端根据生成规则,在软件包的目标路径下生成目标文件夹;
步骤S630,第一终端根据环境获取脚本和软件包,确定软件包的动态变量;
步骤S640,第一终端将动态变量导入到目标文件夹内。
可以理解的是,在环境获取脚本中会设置有生成规则,在金融业务iOS应用程序的过程中,第一终端通过生成规则,在软件包的目标路径下生成目标文件夹,然后将动态变量导入到目标文件夹内,即将一些特殊路径导入到Pods文件夹中的环境加载脚本中,路径格式为:export PODSROOT="xxx/Example/Pods"。
如图7所示,在一实施例中,图1所示实施例中的步骤S150,包括但不限于有以下步骤:
步骤S710,第二终端根据预设的环境加载脚本,确定加载规则和配置规则,其中,加载规则与生成规则匹配,配置规则用于指示第二终端的目标环境配置;
步骤S720,第二终端根据加载规则,在软件包中提取出动态变量;
步骤S730,第二终端根据配置规则,在动态变量中确定与目标环境配置相匹配的环境变量。
可以理解的是,在金融业务iOS应用程序的过程中,第二终端通过设置环境加载脚本,能够通过加载规则从软件包中直接提取出动态变量,由于加载规则与生成规则匹配,因此第二终端能够有效通过从Pods文件夹获取特殊路径,然后,第二终端在打包过程前,通常所有动态变量均为环境变量,但是,每个终端设备的配置情况不同,有些终端设备无需配置某些环境变量,因此通过配置规则,在动态变量中确定与目标环境配置相匹配的环境变量,从而更有效的设置各个第二终端的环境变量。
如图8所示,在一实施例中,图1所示实施例中的步骤S120,包括但不限于有以下步骤:
步骤S810,第一终端对目标工程进行编译处理,得到工程标识和多个第一编译数据;
步骤S820,第一终端根据多个第一编译数据,得到软件包,其中,软件包与工程标识对应。
可以理解的是,在金融业务iOS应用程序的过程中,每个编译处理得到的软件包都会具备唯一的工程标识,即唯一标准ID,能够通过唯一标准ID确定各个软件包,能够有效识别各个软件包。
另外,参考图9,本申请还提供了一种应用程序构建系统,包括:
第一终端910,用于获取目标工程和环境获取脚本;第一终端910还用于对目标工程进行编译处理,得到软件包;第一终端910还用于根据环境获取脚本和软件包确定软件包的动态变量,并将动态变量导入到软件包;
第二终端920,用于获取来自第一终端910的软件包;第二终端920还用于根据预设的环境加载脚本,在软件包中提取出动态变量,并根据动态变量确定环境变量;第二终端920还用于对环境变量进行加载处理;第二终端920还用于根据加载后的环境变量,对软件包进行打包得到iOS应用程序。
可以理解的是,该应用程序构建系统的具体实施方式与上述应用程序构建方法的具体实施例基本相同,在此不再赘述;基于此,通过第一终端910对目标工程进行编译处理得到软件包,并通过在第一终端910设置环境获取脚本,从而通过环境获取脚本确定软件包的动态变量,然后将动态变量导入到软件包中,当第二终端920获取软件包后,第二终端920通过环境加载脚本,从获取的软件包中得到动态变量,进而确定环境变量,然后对环境变量进行加载处理,以配置第二终端920的环境变量,从而对软件包进行打包得到iOS应用程序,相对于手动配置第二终端920的环境变量,通过自动配置第二终端920的环境变量,能够减少环境变量的配置耗时,提高金融业务iOS应用程序的开发效率,能够有效处理金融行业的相关业务,保证用户体验。
值得注意的是,第一终端910和第二终端920之间通过通信网络连接。第一终端910和第二终端920可以是个人计算机(Personal Computer,PC)、手机、智能手机、个人数字助手(Personal Digital Assistant,PDA)、可穿戴设备、掌上电脑(Pocket PersonalComputer,PPC)、平板电脑、具有拍摄功能的拍摄设备、采集设备等,但并不局限于此。第一终端910以及第二终端920可以通过有线或无线通信方式进行直接或间接地连接,本发明实施例在此不做限制。
需要说明的是,第一终端910和第二终端920用于实现上述应用程序构建方法,例如,执行以上描述的图1中的方法步骤S110至步骤S170、图2中的方法步骤S210至步骤S240、图3中的方法步骤S310至步骤S320、图4中的方法步骤S410至S430、图5中的方法步骤S510至S540、图6中的方法步骤S610至S640、图7中的方法步骤S710至S730、图8中的方法步骤S810至S820。
另外,在一些实施例中,第一终端910还用于获取iOS工程和iOS工程的声明文件,其中,声明文件用于声明iOS工程对待编译的目标组件的依赖;第一终端910还用于根据声明文件,向预设的组件管理平台发送请求指令,以从组件管理平台获取目标组件;第一终端910还用于将目标组件集成到iOS工程得到目标工程;第一终端910还用于获取环境获取脚本。
另外,在一些实施例中,第一终端910还用于根据组件声明信息,生成请求指令;第一终端910还用于遍历依赖表的组件声明信息,依次向预设的组件管理平台发送组件声明信息对应的请求指令,以从组件管理平台获取组件声明信息对应的目标组件。
另外,在一些实施例中,第一终端910还用于获取任务信息;第一终端910还用于按照任务信息,对iOS工程的任务配置进行更新;当第一终端910将目标组件集成到iOS工程,第一终端910根据更新后的任务配置生成环境获取脚本。
另外,在一些实施例中,第一终端910还用于遍历目标工程中的所有目标组件,依次对目标组件进行编译处理;当目标组件的函数库类型为动态库类型,第一终端910还用于将目标组件编译为动态库文件;当目标组件的函数库类型为静态库类型,第一终端910还用于将目标组件编译为静态库文件;第一终端910还用于根据动态库文件和静态库文件,得到软件包。
另外,在一些实施例中,第一终端910还用于根据环境获取脚本,确定生成规则;第一终端910还用于根据生成规则,在软件包的目标路径下生成目标文件夹;第一终端910还用于根据环境获取脚本和软件包,确定软件包的动态变量;第一终端910还用于将动态变量导入到目标文件夹内。
另外,在一些实施例中,第二终端920根据预设的环境加载脚本,确定加载规则和配置规则,其中,加载规则与生成规则匹配,配置规则用于指示第二终端920的目标环境配置;第二终端920还用于根据加载规则,在软件包中提取出动态变量;第二终端920还用于根据配置规则,在动态变量中确定与目标环境配置相匹配的环境变量。
另外,在一些实施例中,第一终端910还用于对目标工程进行编译处理,得到工程标识和多个第一编译数据;第一终端910还用于根据多个第一编译数据,得到软件包,其中,软件包与工程标识对应。
本申请实施例还提供了一种存储介质,存储介质为计算机可读存储介质,用于计算机可读存储,存储介质存储有一个或者多个程序,一个或者多个程序可被一个或者多个处理器执行,以实现上述应用程序构建方法,例如,执行以上描述的图1中的方法步骤S110至步骤S170、图2中的方法步骤S210至步骤S240、图3中的方法步骤S310至步骤S320、图4中的方法步骤S410至S430、图5中的方法步骤S510至S540、图6中的方法步骤S610至S640、图7中的方法步骤S710至S730、图8中的方法步骤S810至S820。
存储器作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序以及非暂态性计算机可执行程序。此外,存储器可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施方式中,存储器可选包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至该处理器。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
本申请实施例提供的应用程序构建方法、系统及存储介质,其通过第一终端获取目标工程和环境获取脚本;第一终端对目标工程进行编译处理,得到软件包;第一终端根据环境获取脚本和软件包确定软件包的动态变量,并将动态变量导入到软件包;第二终端获取来自第一终端的软件包;第二终端根据预设的环境加载脚本,在软件包中提取出动态变量,并根据动态变量确定环境变量;第二终端对环境变量进行加载处理;第二终端根据加载后的环境变量,对软件包进行打包得到iOS应用程序。基于此,通过第一终端对目标工程进行编译处理得到软件包,并通过在第一终端设置环境获取脚本,从而通过环境获取脚本确定软件包的动态变量,然后将动态变量导入到软件包中,当第二终端获取软件包后,第二终端通过环境加载脚本,从获取的软件包中得到动态变量,进而确定环境变量,然后对环境变量进行加载处理,以配置第二终端的环境变量,从而对软件包进行打包得到iOS应用程序,通过自动配置第二终端的环境变量,能够减少环境变量的配置耗时,提高金融业务iOS应用程序的开发效率,能够有效处理金融行业的相关业务,保证用户体验。
本申请实施例描述的实施例是为了更加清楚的说明本申请实施例的技术方案,并不构成对于本申请实施例提供的技术方案的限定,本领域技术人员可知,随着技术的演变和新应用场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
本领域技术人员可以理解的是,图1至图8中示出的技术方案并不构成对本申请实施例的限定,可以包括比图示更多或更少的步骤,或者组合某些步骤,或者不同的步骤。
以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、设备中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。
本申请的说明书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
应当理解,在本申请中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:只存在A,只存在B以及同时存在A和B三种情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”,其中a,b,c可以是单个,也可以是多个。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,上述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括多指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例的方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等各种可以存储程序的介质。
以上参照附图说明了本申请实施例的优选实施例,并非因此局限本申请实施例的权利范围。本领域技术人员不脱离本申请实施例的范围和实质内所作的任何修改、等同替换和改进,均应在本申请实施例的权利范围之内。

Claims (10)

1.一种应用程序构建方法,其特征在于,包括:
第一终端获取目标工程和环境获取脚本;
所述第一终端对所述目标工程进行编译处理,得到软件包;
所述第一终端根据所述环境获取脚本和所述软件包确定所述软件包的动态变量,并将所述动态变量导入到所述软件包;
第二终端获取来自所述第一终端的软件包;
所述第二终端根据预设的环境加载脚本,在所述软件包中提取出所述动态变量,并根据所述动态变量确定环境变量;
所述第二终端对所述环境变量进行加载处理;
所述第二终端根据加载后的所述环境变量,对所述软件包进行打包得到iOS应用程序。
2.根据权利要求1所述的方法,其特征在于,所述第一终端获取目标工程和环境获取脚本,包括:
第一终端获取iOS工程和所述iOS工程的声明文件,其中,所述声明文件用于声明所述iOS工程对待编译的目标组件的依赖;
所述第一终端根据所述声明文件,向预设的组件管理平台发送请求指令,以从所述组件管理平台获取所述目标组件;
所述第一终端将所述目标组件集成到所述iOS工程得到目标工程;
所述第一终端获取环境获取脚本。
3.根据权利要求2所述的方法,其特征在于,所述声明文件包括依赖表,所述依赖表包括多个用于指示所述目标组件的组件声明信息;所述第一终端根据所述声明文件,向预设的组件管理平台发送请求指令,以从所述组件管理平台获取所述目标组件,包括:
所述第一终端根据所述组件声明信息,生成请求指令;
所述第一终端遍历所述依赖表的组件声明信息,依次向所述预设的组件管理平台发送所述组件声明信息对应的所述请求指令,以从所述组件管理平台获取所述组件声明信息对应的所述目标组件。
4.根据权利要求2所述的方法,其特征在于,所述第一终端获取环境获取脚本,包括:
所述第一终端获取任务信息;
所述第一终端按照所述任务信息,对所述iOS工程的任务配置进行更新;
当所述第一终端将所述目标组件集成到所述iOS工程,所述第一终端根据更新后的所述任务配置生成环境获取脚本。
5.根据权利要求2所述的方法,其特征在于,所述声明文件还包括用于指示所述目标组件的函数库类型的类型声明信息,其中,所述函数库类型包括动态库类型和静态库类型;所述第一终端对所述目标工程进行编译处理,得到软件包,包括:
所述第一终端遍历所述目标工程中的所有所述目标组件,依次对所述目标组件进行编译处理;
当所述目标组件的函数库类型为动态库类型,所述第一终端将所述目标组件编译为动态库文件;
当所述目标组件的函数库类型为静态库类型,所述第一终端将所述目标组件编译为静态库文件;
所述第一终端根据所述动态库文件和所述静态库文件,得到软件包。
6.根据权利要求1所述的方法,其特征在于,所述第一终端根据所述环境获取脚本和所述软件包确定所述软件包的动态变量,并将所述动态变量导入到所述软件包,包括:
所述第一终端根据所述环境获取脚本,确定生成规则;
所述第一终端根据所述生成规则,在所述软件包的目标路径下生成目标文件夹;
所述第一终端根据所述环境获取脚本和所述软件包,确定所述软件包的动态变量;
所述第一终端将所述动态变量导入到所述目标文件夹内。
7.根据权利要求6所述的方法,其特征在于,所述第二终端根据预设的环境加载脚本,在所述软件包中提取出所述动态变量,并根据所述动态变量确定环境变量,包括:
所述第二终端根据预设的环境加载脚本,确定加载规则和配置规则,其中,所述加载规则与所述生成规则匹配,所述配置规则用于指示所述第二终端的目标环境配置;
所述第二终端根据所述加载规则,在所述软件包中提取出所述动态变量;
所述第二终端根据所述配置规则,在所述动态变量中确定与所述目标环境配置相匹配的环境变量。
8.根据权利要求1所述的方法,其特征在于,所述第一终端对所述目标工程进行编译处理,得到软件包,包括:
所述第一终端对所述目标工程进行编译处理,得到工程标识和多个第一编译数据;
所述第一终端根据所述多个第一编译数据,得到软件包,其中,所述软件包与所述工程标识对应。
9.一种应用程序构建系统,其特征在于,包括:
第一终端,用于获取目标工程和环境获取脚本;所述第一终端还用于对所述目标工程进行编译处理,得到软件包;所述第一终端还用于根据所述环境获取脚本和所述软件包确定所述软件包的动态变量,并将所述动态变量导入到所述软件包;
第二终端,用于获取来自所述第一终端的软件包;所述第二终端还用于根据预设的环境加载脚本,在所述软件包中提取出所述动态变量,并根据所述动态变量确定环境变量;所述第二终端还用于对所述环境变量进行加载处理;所述第二终端还用于根据加载后的所述环境变量,对所述软件包进行打包得到iOS应用程序。
10.一种存储介质,所述存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7中任一项所述的应用程序构建方法的步骤。
CN202310837521.1A 2023-07-07 2023-07-07 应用程序构建方法、系统及存储介质 Pending CN116700735A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310837521.1A CN116700735A (zh) 2023-07-07 2023-07-07 应用程序构建方法、系统及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310837521.1A CN116700735A (zh) 2023-07-07 2023-07-07 应用程序构建方法、系统及存储介质

Publications (1)

Publication Number Publication Date
CN116700735A true CN116700735A (zh) 2023-09-05

Family

ID=87823985

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310837521.1A Pending CN116700735A (zh) 2023-07-07 2023-07-07 应用程序构建方法、系统及存储介质

Country Status (1)

Country Link
CN (1) CN116700735A (zh)

Similar Documents

Publication Publication Date Title
CN107220142B (zh) 执行数据恢复操作的方法及装置
US20110078667A1 (en) Static code analysis for packaged application customization
CN110502222A (zh) 外发依赖内部基础库的aar方法、装置、介质和设备
CN104821954A (zh) 一种跨平台远程过程调用方法
CN112099800A (zh) 代码数据的处理方法、装置和服务器
CN113435862B (zh) 基于邮箱的票据处理方法及装置
CN117093286B (zh) 插件生成方法、装置、设备及计算机可读存储介质
CN110737425B (zh) 一种计费平台系统的应用程序的建立方法及装置
CN110688096A (zh) 包含插件的应用程序的构建方法、装置、介质及电子设备
CN106843857B (zh) 基于srp实现代码库转换sdk的方法和装置
US10878406B2 (en) Systems and methods for token and transaction management
CN111324357B (zh) 应用程序接入风控平台的方法及相关设备
CN113077260A (zh) 基于区块链的数据访问方法、装置及电子设备
CN111488286A (zh) 一种Android模块独立开发的方法及装置
CN116700735A (zh) 应用程序构建方法、系统及存储介质
CN112115738A (zh) 一种应用于浏览器端的图像识别方法和装置
CN114675872B (zh) 一种对应用程序的数据处理方法、装置、设备及存储介质
CN115543967A (zh) 一种数据迁移方法、装置、电子设备及计算机可读介质
CN114860202A (zh) 项目运行方法、装置、服务器及存储介质
CN113934405A (zh) 插件处理方法、装置、设备、存储介质及计算机程序产品
CN107291494B (zh) 应用程序安装包的生成方法及装置
CN108345461B (zh) 应用更新方法和装置以及计算机可读存储介质
CN109933573B (zh) 数据库业务更新方法、装置及系统
CN117056317B (zh) 数据处理方法、装置、设备及计算机可读存储介质
US20230385075A1 (en) Networked Universal Code Package Provider

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