基于面向切面编程的无侵入SDK辅助集成插件的实现方法技术

技术编号:37619885 阅读:30 留言:0更新日期:2023-05-18 12:11
本发明专利技术公开了一种基于面向切面编程的无侵入SDK辅助集成插件的实现方法,运用面向切面编程技术,运行时获取SDK各项信息,所述方法包括以下步骤:S1.获取集成信息;通过运行时获取SDK内部类是否存在,判断应用源代码中是否包含SDK;S2.获取配置信息;通过iOS平台上的运行时方法交换技术,获取SDK的配置函数的切入点,从而得到项目唯一标识符、远端域名和、或当前运行环境的配置信息;S3.获取初始化信息;通过运行时方法交换技术,获取应用启动的相关函数实现的切入点,判断是否已初始化SDK;S4.集成信息列表内容展示SDK集成步骤S1到S3是否全部完成。部完成。部完成。

【技术实现步骤摘要】
基于面向切面编程的无侵入SDK辅助集成插件的实现方法


[0001]本专利技术涉及计算机及编程
,尤其是涉及一种基于面向切面编程的无侵入SDK辅助集成插件的实现方法。

技术介绍

[0002]SDK指软件开发工具包,可以帮助开发者快速实现某些功能或服务,而不需要自己从零开始编写代码。使用SDK有很多好处,比如节省开发时间、提高编码效率、降低应用开发成本、保证应用质量等。
[0003]面向切面编程技术(AOP),是一种编程范式,通过预编译方式和运行期间动态代理实现程序功能的统一维护的一种技术。
[0004]现如今市面上,大部分端侧开发工程师在开发端侧应用时,会集成使用由第三方供应商提供的SDK来协助开发。第三方供应商除了提供SDK开发包给开发工程师,还需要提供相应的集成文档,以及跟进解决SDK在运行中出现的技术性问题。
[0005]然而,在实际的SDK运用场景中,可能会遇到:1、开发工程师没有充分阅读开发集成文档,导致集成步骤遗漏,造成SDK集成失败。
[0006]2、开发工程师将SDK内相关配置填写错误,导致无本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.基于面向切面编程的无侵入SDK辅助集成插件的实现方法,运用面向切面编程技术,运行时获取SDK各项信息,其特征在于,所述方法包括以下步骤:S1.获取集成信息;通过运行时获取SDK内部类是否存在,判断应用源代码中是否包含SDK;S2.获取配置信息;通过iOS平台上的运行时方法交换技术,获取SDK的配置函数的切入点,从而得到项目唯一标识符、远端域名和、或当前运行环境的配置信息;S3.获取初始化信息;通过运行时方法交换技术,获取应用启动的相关函数实现的切入点,判断是否已初始化SDK;S4.集成信息列表内容展示SDK集成步骤S1到S3是否全部完成。2.根据权利要求1所述的基于面向切面编程的无侵入SDK辅助集成插件的实现方法,其特征在于,步骤S1中,在SDK中实现初始化相关的类时,使用类名导出字符串函数NSClassFromString,导出类名,若得到的类名为非空字符串,则判断应用源代码中包含SDK。3.根据权利要求1所述的基于面向切面编程的无侵入SDK辅助集成插件的实现方法,其特征在于,步骤S2中获取配置信息的实现过程如下:S2.1使用系统根类NSObject的分类,定义运用方法交换技术的公共函数tools_swizzleMethod,接受参数为原方法选择器和替换方法选择器;S2.2公共函数内,调用函数体对象获取函数class_getInstanceMethod,传入当前SDK对象,以及原方法选择器,获取原函数对应的函数体对象;S2.3调用函数体对象获取函数class_getInstanceMethod,传入当前SDK对象,以及替换方法选择器,获取替换函数对应的函数体对象;S2.4调用实现指针交换函数method_exchangeImplementation,传入原函数的函数体对象、替换函数的函数体对象,交换原函数和替换函数的实现指针指向;S2.5使用SDK配置函数所在类的分类,定义替换配置函数的替换函数,替换函数其内部实现为:通过所传入的所有参数与配置项名称做对应,获取配置项信息,并调用SDK配置函数,以保留原有功能;S2.6调用S2.1定义的公共函数,传入SDK配置函数的方法选择器作为目标函数的方法选择器,传入S2.5定义的替换函数的方法选择器,替换2个函数的具体实现指针。4.根据权利要求3所述的基于面向切面编程的无侵入SDK辅助集成插件的实现方法,其特征在于,步骤S3中,判断是否已初始化SD...

【专利技术属性】
技术研发人员:陈凌伟张金银骆晓广
申请(专利权)人:杭州比智科技有限公司
类型:发明
国别省市:

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

1