CN113448591A - 一种基于python快速创建iOS工程的方法 - Google Patents

一种基于python快速创建iOS工程的方法 Download PDF

Info

Publication number
CN113448591A
CN113448591A CN202110809709.6A CN202110809709A CN113448591A CN 113448591 A CN113448591 A CN 113448591A CN 202110809709 A CN202110809709 A CN 202110809709A CN 113448591 A CN113448591 A CN 113448591A
Authority
CN
China
Prior art keywords
project
ios
file
python
files
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
CN202110809709.6A
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.)
Green Man Technology Co ltd
Original Assignee
Green Man Technology 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 Green Man Technology Co ltd filed Critical Green Man Technology Co ltd
Priority to CN202110809709.6A priority Critical patent/CN113448591A/zh
Publication of CN113448591A publication Critical patent/CN113448591A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/42Syntactic analysis
    • G06F8/427Parsing

Landscapes

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

Abstract

本发明涉及一种基于python快速创建iOS工程的方法,基于python语言开发通用脚本,获取iOS工程模板后,结合git代码管理模块,实现快速创建新的iOS工程。本发明适用于任何iOS工程,支持objective‑c和swift工程,可以提高研发效率,减少工作成本,通用脚本适用于任何iOS工程,可以以任何iOS工程为模板,一行命令快速创建新工程,自动完成工程名、类文件前缀,工程配置文件等相关配置修改,实现快速创建项目工程的功能,方便开发人员进行二次开发,避免原先复杂的手动修改工程名称及相关配置的操作。

Description

一种基于python快速创建iOS工程的方法
技术领域
本发明涉及电数字数据处理的技术领域,特别涉及一种基于python快速创建iOS工程的方法。
背景技术
Python提供高效的高级数据结构,还能简单有效地面向对象编程。Python语法和动态类型,以及解释型语言的本质,使它成为多数平台上写脚本和快速开发应用的编程语言,随着版本的不断更新和语言新功能的添加,逐渐被用于独立的、大型项目的开发。
Python的优势在于,其解释器易于扩展,可以使用C或C++扩展新的功能和数据类型、可用于定制化软件中的扩展程序语言,同时,其丰富的标准库,提供适用于各个主要系统平台的源码或机器码。
而现有技术中,iOS创建工程使用Xcode 原生模板创建,实用性较低,工程创建后还需要手动集成很多常用到的工具库,集成步骤繁琐、耗时间、容易出错;随着业务的不断扩展,很多项目工程需要在原先已有的工程基础上创建新的工程,并针对新功能进行功能扩展;对此,常规做法是复制一份原先工程代码,再手动进行相关代码配置修改,效率低,重复劳动,且容易遗漏出错。
发明内容
本发明解决了现有技术中存在的问题,提供了一种优化的基于python快速创建iOS工程的方法。
本发明所采用的技术方案是,一种基于python快速创建iOS工程的方法,所述方法包括以下步骤:
步骤1:基于python语言开发通用脚本;
步骤2:获取iOS工程模板;
步骤3:结合git代码管理模块,实现快速创建新的iOS工程。
优选地,所述通用脚本包括以下执行步骤:
步骤1.1:获取待处理工程信息,对工程文件进行预处理;
步骤1.2:判断文件类型,基于文件类型进行对应的操作;
步骤1.3:运行安装工程引用的插件库的命令;
步骤1.4:编译。
优选地,所述步骤1.1中,预处理包括对工程所有文件进行格式化,解析出各个类的名称及文件的类型;所述文件的类型包括配置文件、类文件、资源文件。
优选地,所述步骤1.1中,根据命令行参数,替换项目工程名及相关涉及工程名的路径地址。
优选地,所述步骤1.2中,对于配置文件、类文件,根据命令行参数,全局搜索替换文件前缀字符及被引用到的头文件字符。
优选地,所述步骤1.4中,插件库安装完毕,自动编译工程,如编译成功,则输出日志、操作成功,若编译出错,则输出对应的错误日志。
优选地,所述步骤2中,获取iOS工程模板,将通用脚本文件添加至iOS工程模板的工程目录下,与工程执行文件同一目录。
优选地,所述步骤3中,包括以下步骤:
步骤3.1:本地环境配置脚本执行环境,在本地.bash_profile文件添加需要识别的命令行文本字符;
步骤3.2:打开终端在绝对路径下输入配置的命令行执行命令,实现快速创建新的iOS工程。
本发明涉及一种优化的基于python快速创建iOS工程的方法,基于python语言开发通用脚本,获取iOS工程模板后,结合git代码管理模块,实现快速创建新的iOS工程。
本发明适用于任何 iOS工程,支持objective-c 和 swift 工程,可以提高研发效率,减少工作成本,通用脚本适用于任何iOS工程,可以以任何iOS工程为模板,一行命令快速创建新工程,自动完成工程名、类文件前缀,工程配置文件等相关配置修改,实现快速创建项目工程的功能,方便开发人员进行二次开发,避免原先复杂的手动修改工程名称及相关配置的操作。
附图说明
图1为本发明的流程图;
图2为本发明的通用脚本执行流程图。
具体实施方式
下面结合实施例对本发明做进一步的详细描述,但本发明的保护范围并不限于此。
本发明涉及一种基于python快速创建iOS工程的方法,所述方法包括以下步骤:
步骤1:基于python语言开发通用脚本;
所述通用脚本包括以下执行步骤:
步骤1.1:获取待处理工程信息,对工程文件进行预处理;
所述步骤1.1中,预处理包括对工程所有文件进行格式化,解析出各个类的名称及文件的类型;所述文件的类型包括配置文件、类文件、资源文件。
所述步骤1.1中,根据命令行参数,替换项目工程名及相关涉及工程名的路径地址。
步骤1.2:判断文件类型,基于文件类型进行对应的操作;
所述步骤1.2中,对于配置文件、类文件,根据命令行参数,全局搜索替换文件前缀字符及被引用到的头文件字符。
步骤1.3:运行安装工程引用的插件库的命令;
步骤1.4:编译。
所述步骤1.4中,插件库安装完毕,自动编译工程,如编译成功,则输出日志、操作成功,若编译出错,则输出对应的错误日志。
本发明中,通用脚本的构建即是本技术的工作原理,具体来说:
对工程所有文件进行格式化,解析出各个类的名称及文件的类型,包括配置文件、类文件、资源文件等;
根据命令行参数,替换项目工程名及相关涉及工程名的路径地址;
根据命令行参数,全局搜索替换{.h.m}类文件前缀字符及相关被引用到的头文件字符;资源文件不做任何修改,直接跳过;对所有的文件执行操作,直至不存在未处理文件;
工程名、文件修改替换完之后,自动运行pod install 命令安装工程引用的插件库;
插件库安装好以后,自动编译工程,如编译成功,输出日志操作成功;编译出错,则输出相关错误日志,方便能快速定位问题。
步骤2:获取iOS工程模板;
所述步骤2中,获取iOS工程模板,将通用脚本文件添加至iOS工程模板的工程目录下,与工程执行文件同一目录。
步骤3:结合git代码管理模块,实现快速创建新的iOS工程。
所述步骤3中,包括以下步骤:
步骤3.1:本地环境配置脚本执行环境,在本地.bash_profile文件添加需要识别的命令行文本字符;
步骤3.2:打开终端在绝对路径下输入配置的命令行执行命令,实现快速创建新的iOS工程。
本发明中,由于已经在脚本处进行过试错,故此时的iOS工程原则上应当可以正常创建、不存在报错的情况,只需确保命令行内容无误即可。
本发明可以以任何一个工程为模块,快速创建一个拥有该工程同样业务功能的新项目工程,方便开发人员进行二次开发,避免原先复杂的手动修改工程名称及相关配置的操作,适用于任何 iOS工程,支持objective-c 和 swift 工程,一定程度上减少了工作量,提高了生产效率。

Claims (8)

1.一种基于python快速创建iOS工程的方法,其特征在于:所述方法包括以下步骤:
步骤1:基于python语言开发通用脚本;
步骤2:获取iOS工程模板;
步骤3:结合git代码管理模块,实现快速创建新的iOS工程。
2.根据权利要求1所述的一种基于python快速创建iOS工程的方法,其特征在于:所述通用脚本包括以下执行步骤:
步骤1.1:获取待处理工程信息,对工程文件进行预处理;
步骤1.2:判断文件类型,基于文件类型进行对应的操作;
步骤1.3:运行安装工程引用的插件库的命令;
步骤1.4:编译。
3.根据权利要求2所述的一种基于python快速创建iOS工程的方法,其特征在于:所述步骤1.1中,预处理包括对工程所有文件进行格式化,解析出各个类的名称及文件的类型;所述文件的类型包括配置文件、类文件、资源文件。
4.根据权利要求2所述的一种基于python快速创建iOS工程的方法,其特征在于:所述步骤1.1中,根据命令行参数,替换项目工程名及相关涉及工程名的路径地址。
5.根据权利要求3所述的一种基于python快速创建iOS工程的方法,其特征在于:所述步骤1.2中,对于配置文件、类文件,根据命令行参数,全局搜索替换文件前缀字符及被引用到的头文件字符。
6.根据权利要求2所述的一种基于python快速创建iOS工程的方法,其特征在于:所述步骤1.4中,插件库安装完毕,自动编译工程,如编译成功,则输出日志、操作成功,若编译出错,则输出对应的错误日志。
7.根据权利要求1所述的一种基于python快速创建iOS工程的方法,其特征在于:所述步骤2中,获取iOS工程模板,将通用脚本文件添加至iOS工程模板的工程目录下,与工程执行文件同一目录。
8.根据权利要求1所述的一种基于python快速创建iOS工程的方法,其特征在于:所述步骤3中,包括以下步骤:
步骤3.1:本地环境配置脚本执行环境,在本地.bash_profile文件添加需要识别的命令行文本字符;
步骤3.2:打开终端在绝对路径下输入配置的命令行执行命令,实现快速创建新的iOS工程。
CN202110809709.6A 2021-07-17 2021-07-17 一种基于python快速创建iOS工程的方法 Pending CN113448591A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110809709.6A CN113448591A (zh) 2021-07-17 2021-07-17 一种基于python快速创建iOS工程的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110809709.6A CN113448591A (zh) 2021-07-17 2021-07-17 一种基于python快速创建iOS工程的方法

Publications (1)

Publication Number Publication Date
CN113448591A true CN113448591A (zh) 2021-09-28

Family

ID=77816623

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110809709.6A Pending CN113448591A (zh) 2021-07-17 2021-07-17 一种基于python快速创建iOS工程的方法

Country Status (1)

Country Link
CN (1) CN113448591A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115309376A (zh) * 2022-08-25 2022-11-08 北京泰迪熊移动科技有限公司 一种应用创建方法、装置、电子设备及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106095442A (zh) * 2016-06-13 2016-11-09 福州智永信息科技有限公司 基于web的自动高速出包方法
CN108647010A (zh) * 2018-04-27 2018-10-12 武汉斗鱼网络科技有限公司 一种项目工程初始化的方法、终端设备及存储介质
CN110377290A (zh) * 2019-07-22 2019-10-25 阿里巴巴集团控股有限公司 一种目标工程编译的方法、装置及设备
CN111459465A (zh) * 2020-03-27 2020-07-28 北京五八信息技术有限公司 一种Flutter工程文件的生成方法和装置
CN112882700A (zh) * 2021-02-09 2021-06-01 京东方科技集团股份有限公司 iOS应用程序构建方法及装置、电子设备及存储介质
CN112905225A (zh) * 2019-12-04 2021-06-04 北京京东尚科信息技术有限公司 创建持续集成工具构建任务的方法和装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106095442A (zh) * 2016-06-13 2016-11-09 福州智永信息科技有限公司 基于web的自动高速出包方法
CN108647010A (zh) * 2018-04-27 2018-10-12 武汉斗鱼网络科技有限公司 一种项目工程初始化的方法、终端设备及存储介质
CN110377290A (zh) * 2019-07-22 2019-10-25 阿里巴巴集团控股有限公司 一种目标工程编译的方法、装置及设备
CN112905225A (zh) * 2019-12-04 2021-06-04 北京京东尚科信息技术有限公司 创建持续集成工具构建任务的方法和装置
CN111459465A (zh) * 2020-03-27 2020-07-28 北京五八信息技术有限公司 一种Flutter工程文件的生成方法和装置
CN112882700A (zh) * 2021-02-09 2021-06-01 京东方科技集团股份有限公司 iOS应用程序构建方法及装置、电子设备及存储介质

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115309376A (zh) * 2022-08-25 2022-11-08 北京泰迪熊移动科技有限公司 一种应用创建方法、装置、电子设备及存储介质

Similar Documents

Publication Publication Date Title
US20040158820A1 (en) System for generating an application framework and components
US5905892A (en) Error correcting compiler
CN108399064B (zh) 基于Qt开发的多语言词条生成方法
US8056062B2 (en) Methods and systems for converting application code in turbine control systems
US9405518B2 (en) Leveraging legacy applications for use with modern applications
US20030088860A1 (en) Compiler annotation for binary translation tools
US20070271553A1 (en) Method and system for translating assembler code to a target language
CN103309647A (zh) 应用程序多语言支持系统及方法
US20130152061A1 (en) Full fidelity parse tree for programming language processing
CN110109671B (zh) 一种webpack标签尺寸样式转换方法及装置
CN1526104A (zh) 分析结构化数据
CN112379917A (zh) 浏览器兼容性提升方法、装置、设备及存储介质
CN113448591A (zh) 一种基于python快速创建iOS工程的方法
US6381736B1 (en) Method for compile-time type-checking of arguments for externally-specified format strings
CN104881396A (zh) 图形化程序的编译文件形成方法
CN109947711B (zh) 一种对ios项目开发过程中的多语言文件自动化管理方法
CN112269566B (zh) 脚本生成处理方法、装置、设备及系统
CN111596970B (zh) 动态库延迟加载方法、装置、设备和存储介质
CN111857752B (zh) 一种PostgreSQL数据库安装方法、装置及设备
CN117573095A (zh) 一种支持持续集成的交叉编译框架的搭建及编译方法
CN111061486B (zh) 一种安卓应用程序增量方法
CN115454438A (zh) 基于对照表的hlsl着色器源码转换为glsl着色器源码的方法
CN114816435A (zh) 一种基于逆向技术的软件开发方法
JP3266097B2 (ja) 非リエントラントプログラムの自動リエントラント化方法及びシステム
CN109509467B (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
RJ01 Rejection of invention patent application after publication

Application publication date: 20210928

RJ01 Rejection of invention patent application after publication