基于Unity项目生成iOS动态库的方法、电子设备、程序产品技术

技术编号:39058751 阅读:19 留言:0更新日期:2023-10-12 19:51
本发明专利技术公开了一种基于Unity项目生成iOS动态库的方法、电子设备、程序产品。所述方法包括:获取iOS原生项目的唯一标识符;根据所述唯一标识符按照预先配置的修改规则对目标工程进行修改,所述目标工程为从所述Unity项目中导出的iOS工程;其中,所述预先配置的修改规则包括:根据所述唯一标识符修改所述目标工程的签名、修改所述目标工程的配置文件以将所述目标工程的数据文件与所述目标工程中的UnityFramework工程绑定、将从所述目标工程中获取的头文件名称写入所述UnityFramework工程的头文件列表;其中,所述头文件名称为所述iOS原生项目与Unity平台交互的头文件名称;对修改后的目标工程进行编译,生成与修改后的目标工程对应的第一动态库文件。标工程对应的第一动态库文件。标工程对应的第一动态库文件。

【技术实现步骤摘要】
基于Unity项目生成iOS动态库的方法、电子设备、程序产品


[0001]本专利技术涉及编程
,更具体地,涉及一种基于Unity项目生成iOS动态库的方法、电子设备、程序产品。

技术介绍

[0002]目前很多APP(Application,应用程序)都具有实时3D(3

Dimension,三维)展示和3D互动的交互场景。通常在Unity平台中开发3D模型,然后从Unity项目中导出移动端使用的工程,供移动端开发人员使用。在对已有的iOS项目集成Unity时,通常是直接将从Unity项目中导出的Unity

iPhone工程拖入到已有的iOS项目中。由于Unity开发人员和iOS开发人员并不相同,因此需要Unity开发人员将Unity

iPhone工程的源码交给iOS开发人员,会造成源码外露,不便于管理。

技术实现思路

[0003]本专利技术的一个目的是提供一种用于在iOS原生项目中集成Unity项目的新技术方案。
[0004]根据本专利技术的第一方面,提供了一种基于Unity项目生成iOS动态库的方法,包括:
[0005]获取iOS原生项目的唯一标识符;
[0006]根据所述唯一标识符按照预先配置的修改规则对目标工程进行修改,所述目标工程为从所述Unity项目中导出的iOS工程;
[0007]其中,所述预先配置的修改规则包括:根据所述唯一标识符修改所述目标工程的签名、修改所述目标工程的配置文件以将所述目标工程的数据文件与所述目标工程中的UnityFramework工程绑定、将从所述目标工程中获取的头文件名称写入所述UnityFramework工程的头文件列表;
[0008]其中,所述头文件名称为所述iOS原生项目与Unity平台交互的头文件名称;
[0009]对修改后的目标工程进行编译,生成与修改后的目标工程对应的第一动态库文件。
[0010]可选地,所述预先配置的修改规则还包括:
[0011]将所述目标工程中的是否支持自动横竖屏的配置项修改为不支持。
[0012]可选地,在所述生成与修改后的目标工程对应的第一动态库文件之后,所述方法还包括:
[0013]剥离所述第一动态库文件中的目标调试符号,生成第二动态库文件。
[0014]可选地,在所述生成第二动态库文件之后,所述方法还包括:
[0015]生成所述第二动态库文件对应的说明文件,所述说明文件中包括所述第二动态库文件的大小以及所述第二动态库文件的子文件的大小。
[0016]可选地,在所述生成所述第二动态库文件对应的说明文件之后,所述方法还包括:
[0017]将所述第二动态库文件和所述说明文件上传至私有服务器。
[0018]可选地,在所述将所述第二动态库文件和所述说明文件上传至私有服务器之前,所述方法还包括:
[0019]生成与所述第二动态库文件对应的版本号;
[0020]所述将所述第二动态库文件和所述说明文件上传至私有服务器,包括:
[0021]将所述第二动态库文件、所述第二动态库文件对应的版本号以及所述说明文件上传至所述私有服务器。
[0022]可选地,所述数据文件包括应用程序序列化资源以及.NET程序集。
[0023]根据本专利技术的第二方面,提供了一种电子设备,包括处理器和存储器,所述存储器存储可在所述处理器上运行的程序或指令,所述程序或指令被所述处理器执行时实现如本专利技术第一方面所述的一种基于Unity项目生成iOS动态库方法的步骤。
[0024]根据本专利技术的第三方面,提供了一种计算机程序产品,包括计算机程序/指令,当所述计算机程序/指令处理器被执行时实现如本专利技术第一方面所述的方法。
[0025]根据本专利技术的一个实施例,本专利技术可以根据开发人员输入的iOS原生项目的唯一标识符自动运行,并生成可供该iOS原生项目使用的动态库文件,只需要开发人员输入iOS原生项目的唯一标识符,不需要开发人员进行其它操作,节省开发时间,提高开发效率。同时iOS开发人员不需要获取Unity项目的源码,避免源码外露。
[0026]通过以下参照附图对本专利技术的示例性实施例的详细描述,本专利技术的其它特征及其优点将会变得清楚。
附图说明
[0027]被结合在说明书中并构成说明书的一部分的附图示出了本专利技术的实施例,并且连同其说明一起用于解释本专利技术的原理。
[0028]图1是本申请实施例中基于Unity项目生成iOS动态库的方法的流程图。
[0029]图2是本申请另一实施例中生成动态库文件的流程示意图。
[0030]图3是本申请实施例中电子设备的示意图。
具体实施方式
[0031]现在将参照附图来详细描述本专利技术的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本专利技术的范围。
[0032]以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本专利技术及其应用或使用的任何限制。
[0033]对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。
[0034]在这里示出和讨论的所有例子中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它例子可以具有不同的值。
[0035]应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
[0036]在介绍本申请实施例之前,首先对本申请实施例中涉及的名词进行解释。
[0037]iOS:一种用于移动端的操作系统。
[0038]Shell:一种脚本语言。
[0039]3D:三维立体图。
[0040]Unity:实时3D互动内容创作和运营平台。
[0041]UnityHub:连接Unity的桌面端应用程序。
[0042]UnityFramework.framework:供iOS项目使用的Unity动态库。
[0043]Mac OS:一种用于桌面端的操作系统。
[0044]Xcode:运行在Mac OS上的集成开发工具,可以用于开发iOS项目。
[0045]Unity

iPhone:Unity项目导出的iOS工程的名字。
[0046]UnityFramework:Unity

iPhone工程里面的一个工程。
[0047].NET:一种用于构建多种应用的免费开源开发平台。
[0048]README:说明文件。
[0049]strip:Xcode移除指定符号命令。
[0050]CocoaPods:管理第三方依赖库的工具。
[0051]GitHub:面向开源及私有软件项目的托本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于Unity项目生成iOS动态库的方法,其特征在于,包括:获取iOS原生项目的唯一标识符;根据所述唯一标识符按照预先配置的修改规则对目标工程进行修改,所述目标工程为从所述Unity项目中导出的iOS工程;其中,所述预先配置的修改规则包括:根据所述唯一标识符修改所述目标工程的签名、修改所述目标工程的配置文件以将所述目标工程的数据文件与所述目标工程中的UnityFramework工程绑定、将从所述目标工程中获取的头文件名称写入所述UnityFramework工程的头文件列表;其中,所述头文件名称为所述iOS原生项目与Unity平台交互的头文件名称;对修改后的目标工程进行编译,生成与修改后的目标工程对应的第一动态库文件。2.根据权利要求1所述的方法,其特征在于,所述预先配置的修改规则还包括:将所述目标工程中的是否支持自动横竖屏的配置项修改为不支持。3.根据权利要求1所述的方法,其特征在于,在所述生成与修改后的目标工程对应的第一动态库文件之后,所述方法还包括:剥离所述第一动态库文件中的目标调试符号,生成第二动态库文件。4.根据权利要求3所述的方法,其特征在于,在所述生成第二动态库文件之后,所述方法还包括:生成所述第二动态库文件对应的说明文件...

【专利技术属性】
技术研发人员:杨鲁南
申请(专利权)人:北京集度科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1