[发明专利]应用程序组件的编译方法、装置、设备及存储介质在审
申请号: | 202110443462.0 | 申请日: | 2021-04-23 |
公开(公告)号: | CN113127000A | 公开(公告)日: | 2021-07-16 |
发明(设计)人: | 冯毅飞 | 申请(专利权)人: | 北京字节跳动网络技术有限公司 |
主分类号: | G06F8/41 | 分类号: | G06F8/41;G06F9/445 |
代理公司: | 北京开阳星知识产权代理有限公司 11710 | 代理人: | 吴崇 |
地址: | 100041 北京市石景山区*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 应用程序 组件 编译 方法 装置 设备 存储 介质 | ||
本公开实施例涉及一种应用程序组件的编译方法、装置、设备及存储介质,通过获取空的第一iOS工程和第一iOS工程的第一声明文件,第一声明文件中至少声明了第一iOS工程对待编译的第一组件的依赖,以及第一组件对应的函数库类型的信息;在第一组件的函数库类型为动态库framework时,基于第一声明文件将第一组件集成到第一iOS工程,并将预先得到的第一主工程中的各组件的头文件复制到第一iOS工程中,得到第二iOS工程;然后通过对第二iOS工程进行编译,并在编译到无定义的符号时,跳过符号继续编译,得到第一组件对应的编译文件。本公开实施例提供的方案实现了单个组件的编译,提高了编译效率。
技术领域
本公开实施例涉及计算机技术领域,尤其涉及一种应用程序组件的编译方法、装置、设备及存储介质。
背景技术
苹果移动设备操作系统(iPhone Operating System,简称iOS))的应用程序一般可由多个组件构成。现有技术在对iOS应用程序中的某个组件进行编译时,一般需要下载整个应用程序的全部组件,由于下载的数据量较大,导致整个编译的过程耗时较长,效率较低。
发明内容
为了解决上述技术问题或者至少部分地解决上述技术问题,本公开实施例提供了一种应用程序组件的编译方法、装置、设备及存储介质。
本公开实施例的第一方面提供了一种应用程序组件的编译方法,该方法包括:
获取空的第一iOS工程和第一iOS工程的第一声明文件,第一声明文件中至少声明了第一iOS工程对待编译的第一组件的依赖,以及第一组件对应的函数库类型的信息;响应于第一组件的函数库类型为动态库framework,则基于第一声明文件将第一组件集成到第一iOS工程,并根据预先得到的第一主工程,将第一主工程中各组件的头文件复制到第一iOS工程中,得到第二iOS工程;通过对第二iOS工程进行编译,并在编译到无定义的符号时,跳过符号继续编译,直到编译结束,得到第一组件对应的编译文件。
在一种实施方式中,获取空的第一iOS工程和第一iOS工程的第一声明文件之后,第一方面的方法还可以包括:
响应于第一组件的函数库类型为静态库,则调用预设的第一hook脚本,将第一组件的函数库类型修改为动态库framework。
在一种实施方式中,在得到第一组件对应的编译文件之后,第一方面的方法还可以包括:
基于第一用户指令,将第一主工程中的第二组件替换为第一组件对应的编译文件,并对第一主工程进行重新签名,得到第二主工程,其中第一组件由所述第二组件更新得到;基于第二用户指令运行第二主工程进行调试。
在一种实施方式中,在获取空的第一iOS工程和第一iOS工程的第一声明文件之前,第一方面的方法还可以包括:
获取第一主工程的第二声明文件,第二声明文件中至少包括第一主工程对各组件的依赖关系,以及各组件对应的函数库类型的信息;响应于各组件对应的函数库类型为静态库,则调用预设的第二hook脚本,将第二声明文件中记录的各组件的函数库类型修改为动态库framework;基于修改后的第二声明文件,集成得到第一主工程。
本公开实施例的第二方面提供了一种编译装置,该装置包括:
第一获取模块,用于获取空的第一iOS工程和第一iOS工程的第一声明文件,第一声明文件中至少声明了第一iOS工程对待编译的第一组件的依赖,以及第一组件对应的函数库类型的信息;
第一集成模块,用于在第一组件的函数库类型为动态库framework时,基于第一声明文件将第一组件集成到第一iOS工程,并根据预先得到的第一主工程,将第一主工程中各组件的头文件复制到第一iOS工程中,得到第二iOS工程;
编译模块,用于对第二iOS工程进行编译,并在编译到无定义的符号时,跳过该符号继续编译,直到编译结束,得到第一组件对应的编译文件。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京字节跳动网络技术有限公司,未经北京字节跳动网络技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110443462.0/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种呼吸科用人工呼吸器
- 下一篇:一种自动化控制的自适应夹具