一种集成系统库文件的方法和装置的制造方法

文档序号:9375272阅读:185来源:国知局
一种集成系统库文件的方法和装置的制造方法
【技术领域】
[0001]本申请涉及计算机通信技术领域,具体涉及一种集成系统库文件的方法和装置。
【背景技术】
[0002]随着计算机通信技术的发展,使用1S(iphone operating system)系统的移动终端受到了许多用户的喜欢,基于1S开发的应用程序也越来越多。开发者在开发应用程序的过程中,为了提高开发效率,实现更多应用功能,增强用户体验,普遍要使用其他的第三方SDK (Software Development Kit,软件开发工具包)。例如,要实现将内容分享到微信、QQ空间等社交平台,需要使用微信、QQ空间等的SDK ;要实现支付功能,需要使用支付的SDK ;要实现广告功能,需要使用各个广告渠道的SDK等。开发者在使用第三方SDK时,需要添加第三方SDK需要的系统库文件到自己的应用开发工程中,然后在应用开发工程对应的应用程序的Load Librarys (加载库)阶段,加载第三方SDK需要的系统库文件和应用程序本身需要的系统库文件,实现对第三方SDK需要的系统库文件的集成。
[0003]现有集成系统库文件的方法具体如下:开发者读取需要使用的第三方SDK的添加说明,得到第三方SDK需要的系统库文件;开发者将第三方SDK需要的系统库文件,一一添加在应用开发工程Xcode的库文件列表中;在应用开发工程对应的应用程序的LoadLibrarys (加载库)阶段,加载第三方SDK需要的系统库文件和应用程序本身需要的系统库文件,实现对第三方SDK需要的系统库文件的集成。
[0004]现有集成系统库文件的方法,开发者需要读取第三方SDK的添加说明,将第三方SDK需要的系统库文件,手动添加在应用开发工程Xcode的库文件列表中,在Load Librarys阶段进行加载,实现集成,集成过程繁琐,浪费时间,成本高。

【发明内容】

[0005]本申请所要解决的技术问题在于提供一种集成系统库文件的方法和装置,可以自动加载第三方SDK需要的系统库文件,开发者在使用第三方SDK时,不需要知道第三方SDK内部调用了哪些系统库文件,不需要手动添加第三方SDK需要的系统库文件,简化了集成系统库文件的步骤,可以节约时间和成本。
[0006]为了解决上述问题,本申请公开了一种集成系统库文件的方法,包括:启动应用程序,加载所述应用程序本身需要的系统库文件;并在构建具有构造函数属性的所述应用程序的类的阶段,获取所述应用程序使用的第三方软件开发工具包SDK中预设的系统库文件加载方式;通过所述预设的系统库文件加载方式,自动加载所述第三方SDK需要的系统库文件。
[0007]进一步地,所述系统库文件包括:框架文件和/或动态库文件。
[0008]进一步地,所述预设的系统库文件加载方式,包括:根据所述第三方SDK需要的系统库文件的路径生成基于NSBundle类的NSBundle对象;使用所述NSBundle类的加载方法加载所述NSBundle对象至所述应用程序。
[0009]进一步地,所述方法还包括:对于所述第三方SDK需要的系统库文件中的类,使用动态方法初始化对象;对于初始化的对象,使用动态调用方法执行与初始化的对象相应的方法。
[0010]进一步地,所述对于所述第三方SDK需要的系统库文件中的类,使用动态方法初始化对象,具体包括:调用NSClassFromString函数判断所述第三方SDK需要的系统库文件中的类是否存在,如果存在则直接动态加载所述第三方SDK需要的系统库文件中的类,从而初始化对象。
[0011]进一步地,所述对于初始化的对象,使用动态调用方法执行与初始化的对象相应的方法,具体为:通过Oselector命令查找与所述初始化的对象相应的方法,使用performSeIector函数动态调用所查找到的与初始化的对象相应的方法。
[0012]为了解决上述问题,本申请公开了一种集成系统库文件的装置,所述装置包括:第一加载模块,用于启动应用程序,加载所述应用程序本身需要的系统库文件;获取模块,用于在构建具有构造函数属性的所述应用程序的类的阶段,获取所述应用程序使用的第三方软件开发工具包SDK中预设的系统库文件加载方式;第二加载模块,用于通过所述预设的系统库文件加载方式,自动加载所述第三方SDK需要的系统库文件。
[0013]进一步地,所述系统库文件包括:框架文件和/或动态库文件。
[0014]进一步地,所述获取模块所获取的预设的系统库文件加载方式,包括:根据所述第三方SDK需要的系统库文件的路径生成基于NSBundle类的NSBundle对象;使用所述NSBundle类的加载方法加载所述NSBundle对象至所述应用程序。
[0015]进一步地,所述装置还包括:初始化模块,用于对于所述第三方SDK需要的系统库文件中的类,使用动态方法初始化对象;调用模块,用于对于初始化的对象,使用动态调用方法执行与初始化的对象相应的方法。
[0016]进一步地,所述初始化模块对于所述第三方SDK需要的系统库文件中的类,使用动态方法初始化对象具体为:调用NSClassFromString函数判断所述第三方SDK需要的系统库文件中的类是否存在,如果存在则直接动态加载所述第三方SDK需要的系统库文件中的类,从而初始化对象。
[0017]进一步地,所述调用模块对于初始化的对象,使用动态调用方法执行与初始化的对象相应的方法具体为:通过Oselector命令查找与所述初始化的对象相应的方法,使用performSe I e c tor函数动态调用所查找到的与初始化的对象相应的方法。
[0018]为了解决上述问题,本申请还公开了一种第三方软件开发工具包SDK,所述第三方SDK包括:处理单元,用于存储预设的系统库文件加载方式。
[0019]进一步地,所述处理单元存储的预设的系统库文件加载方式,包括:根据所述第三方SDK需要的系统库文件的路径生成基于NSBundle类的NSBundle对象;使用NSBundle类的加载方法加载所述NSBundle对象至所述应用程序。
[0020]与现有技术相比,本申请可以获得包括以下技术效果:
[0021 ] 可以自动加载第三方SDK需要的系统库文件,开发者在使用第三方SDK时,不需要知道第三方SDK内部调用了哪些系统库文件,不需要手动添加第三方SDK需要的系统库文件,简化了集成系统库文件的步骤,可以节约时间和成本。通过动态方法来初始化对象、使用动态调用的方式来执行与初始化的对象相应的方法,就可以实现,不引用系统库文件的头文件,又能使用系统库文件下的类和调用相应的方法的目的。
[0022]当然,实施本申请的任一产品必不一定需要同时达到以上所述的所有技术效果。
【附图说明】
[0023]此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
[0024]图1是本申请实施例的一种集成系统库文件的方法流程图;
[0025]图2是本申请实施例的一种集成系统库文件的使用流程图;
[0026]图3是本申请实施例的第一种集成系统库文件的装置结构示意图;
[0027]图4是本申请实施例的第二种集成系统库文件的装置结构示意图;
[0028]图5是本申请实施例的一种第三方SDK的装置结构示意图。
【具体实施方式】
[0029]以下将配合附图及实施例来详细说明本申请的实施方式,藉此对本申请如何应用技术手段来解决技术问题并达成技术功效的实现过程能充分理解并据以实施。
[0030]在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
[0031]内存可能包括计算机
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1