CN109725924A - 一种基于iOS应用的功能集成方法 - Google Patents
一种基于iOS应用的功能集成方法 Download PDFInfo
- Publication number
- CN109725924A CN109725924A CN201711019731.0A CN201711019731A CN109725924A CN 109725924 A CN109725924 A CN 109725924A CN 201711019731 A CN201711019731 A CN 201711019731A CN 109725924 A CN109725924 A CN 109725924A
- Authority
- CN
- China
- Prior art keywords
- dynamic base
- function
- new dynamic
- ios application
- code
- 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
Links
Landscapes
- Devices For Executing Special Programs (AREA)
Abstract
本发明提供一种基于iOS应用的功能集成方法,将需要集成使用的功能代码添加到一个动态库中形成新动态库,通过在新动态库中使用代码拦截技术来对功能代码关键调用点进行拦截,并由新动态库内代码对其进行调用。本发明基于iOS应用的功能集成方法将需要添加的功能编写为动态库,将动态库放入安装包中,由动态库内代码对功能代码进行引用,解决了现有第三方开发者在需要使用SDK时需要手动将SDK引入到项目中,并且还需要对源代码进行修改才能使用的缺陷。
Description
技术领域
本发明涉及iOS应用技术领域,尤其涉及一种基于iOS应用的功能集成方法。
背景技术
iOS是由苹果公司开发的移动操作系统,随着iPhone的流行发展,iPhone原生的界面控件无法满足产品日益增长的功能需求,这就使得开发者需要将现有的技术应用在iPhone平台,创建更好的移动应用程序,提升用户体验。
然而,在第三方iOS应用安装包中集成额外功能(通常以SDK即软件开发工具包的方式呈现)时,需要开发者手动将SDK放入到项目中,修改项目配置,并且在需要使用SDK功能的位置修改源代码,以完成对SDK功能的调用。
因此,有必要进行研究开发,以提供一种解决上述目前现有技术存在缺陷的技术方案,解决现有第三方开发者在需要使用SDK时需要手动将SDK引入到项目中,并且还需要对源代码进行修改才能使用的缺陷。
发明内容
本发明的目的在于提供一种基于iOS应用的功能集成方法,以解决现有第三方开发者在需要使用SDK时需要手动将SDK引入到项目中,并且还需要对源代码进行修改才能使用的缺陷。
为实现上述目的,本发明采用以下技术方案:
一种基于iOS应用的功能集成方法,包括如下步骤:
步骤1,将需要集成使用的功能代码添加到一个动态库中形成新动态库;
步骤2,在新动态库中使用代码拦截技术来对功能代码关键调用点进行拦截,在拦截点上对功能代码进行正确调用;
步骤3,将应用安装包进行解压,并将新动态库放入其中,修改应用可执行文件中的动态引用部分,将新动态库的路径添加到引用列表中,使引用启动时可自动加载执行新动态库;
步骤4,将应用包进行重新签名并压缩为安装包文件。
进一步地,所述步骤1中还包括:选择原始iOS应用安装包并解压安装包,在iPhone开发中心下载证书并导入,修改原始iOS应用安装包对应的应用配置信息并解压安装包。
进一步地,所述步骤2中还包括新动态库的内部处理流程:在load方法中通过runtime机制获取应用AppDelegate的Class,对AppDelegate中的生命周期方法进行拦截,当原始方法被调用时自动进入拦截处理方法进行处理。
进一步地,所述新动态库的内部处理流程还包括网络操作方法、IO操作方法等进行拦截。
相较于现有技术,本发明基于iOS应用的功能集成方法将需要添加的功能编写为动态库,将动态库放入安装包中,由动态库内代码对功能代码进行引用,解决了现有第三方开发者在需要使用SDK时需要手动将SDK引入到项目中,并且还需要对源代码进行修改才能使用的缺陷。
附图说明
图1为本发明基于iOS应用的功能集成方法的流程图。
图2为本发明基于iOS应用的功能集成方法的动态库内部处理流程图。
具体实施方式
为了更充分理解本发明的技术内容,下面结合附图及具体实施例对本发明的技术方案进一步介绍和说明,但不局限于此。
本发明提供一种基于iOS应用的功能集成方法,包括以下步骤:
步骤1,将第三方需要集成使用的功能代码添加到一个动态库中形成新动态库;
步骤2,在新动态库中通过代码拦截技术来对功能代码关键调用点进行拦截,在拦截点上对功能代码进行正确调用;
步骤3,将第三方应用安装包进行解压,并将新动态库放入其中,修改应用可执行文件中的动态引用部分,将新动态库的路径添加到引用列表中,使应用启动时可自动加载执行新动态库;
步骤4,将第三方应用包进行重新签名并压缩为安装包文件。
如图1~2所示,所述步骤1中还包括添加功能代码前的准备:选择原始iOS应用安装包并解压安装包,在iPhone开发中心下载证书并导入,修改原始iOS应用安装包对应的应用配置信息。
优选地,所述步骤2中包括新动态库内部处理流程:在load方法中通过runtime机制获取应用AppDelegate的Class,对AppDelegate中的生命周期方法进行拦截,当原始方法被调用时自动进入拦截处理方法进行处理。
优选地,所述新动态库内部处理流程还包括对网络操作方法、IO操作方法等进行拦截。
上述仅以实施例来进一步说明本发明的技术内容,以便于读者更容易理解,但不代表本发明的实施方式仅限于此,任何依本发明所做的技术延伸或再创造,均受本发明的保护。本发明的保护范围以权利要求书为准。
Claims (4)
1.一种基于iOS应用的功能集成方法,其特征在于:包括以下步骤:
步骤1,将需要集成使用的功能代码添加到一个动态库中形成新动态库;
步骤2,在新动态库中使用代码拦截技术来对功能代码关键调用点进行拦截,在拦截点上对功能代码进行正确调用;
步骤3,将应用安装包进行解压,并将新动态库放入其中,修改应用可执行文件中的动态引用部分,将新动态库的路径添加到引用列表中,使引用启动时可自动加载执行新动态库;
步骤4,将应用包进行重新签名并压缩为安装包文件。
2.根据权利要求1所述的基于iOS应用的功能集成方法,其特征在于:所述步骤1中还包括:选择原始iOS应用安装包并解压安装包,在iPhone开发中心下载证书并导入,修改原始iOS应用安装包对应的应用配置信息并解压安装包。
3.根据权利要求1所述的基于iOS应用的功能集成方法,其特征在于:所述步骤2中还包括新动态库的内部处理流程:在load方法中通过runtime机制获取应用AppDelegate的Class,对AppDelegate中的生命周期方法进行拦截,当原始方法被调用时自动进入拦截处理方法进行处理。
4.根据权利要求1所述的基于iOS应用的功能集成方法,其特征在于:所述新动态库的内部处理流程还包括对网络操作方法、IO操作方法等进行拦截。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711019731.0A CN109725924A (zh) | 2017-10-27 | 2017-10-27 | 一种基于iOS应用的功能集成方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711019731.0A CN109725924A (zh) | 2017-10-27 | 2017-10-27 | 一种基于iOS应用的功能集成方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109725924A true CN109725924A (zh) | 2019-05-07 |
Family
ID=66290960
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711019731.0A Pending CN109725924A (zh) | 2017-10-27 | 2017-10-27 | 一种基于iOS应用的功能集成方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109725924A (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120151080A1 (en) * | 2010-12-14 | 2012-06-14 | of California | Media Repackaging Systems and Software for Adaptive Streaming Solutions, Methods of Production and Uses Thereof |
CN105749550A (zh) * | 2016-02-24 | 2016-07-13 | 戴佳佳 | iOS系统手机游戏录像方法 |
CN106126290A (zh) * | 2016-06-27 | 2016-11-16 | 微梦创科网络科技(中国)有限公司 | 应用程序优化方法、装置及系统 |
CN106325847A (zh) * | 2015-07-02 | 2017-01-11 | 杭州海康机器人技术有限公司 | 基于iOS平台获取应用程序功能的方法和装置 |
-
2017
- 2017-10-27 CN CN201711019731.0A patent/CN109725924A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120151080A1 (en) * | 2010-12-14 | 2012-06-14 | of California | Media Repackaging Systems and Software for Adaptive Streaming Solutions, Methods of Production and Uses Thereof |
CN106325847A (zh) * | 2015-07-02 | 2017-01-11 | 杭州海康机器人技术有限公司 | 基于iOS平台获取应用程序功能的方法和装置 |
CN105749550A (zh) * | 2016-02-24 | 2016-07-13 | 戴佳佳 | iOS系统手机游戏录像方法 |
CN106126290A (zh) * | 2016-06-27 | 2016-11-16 | 微梦创科网络科技(中国)有限公司 | 应用程序优化方法、装置及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8769305B2 (en) | Secure execution of unsecured apps on a device | |
US10104123B2 (en) | Fetching a policy definition library from a policy server at mobile device runtime of an application package to control access to mobile device resources | |
US8893298B2 (en) | Network linker for secure execution of unsecured apps on a device | |
US20120246731A1 (en) | Secure execution of unsecured apps on a device | |
AU2012214619A1 (en) | Securing and managing apps on a device | |
CN104680039B (zh) | 一种应用程序安装包的数据保护方法及装置 | |
US20180129794A1 (en) | Method for Protecting Dex File from Decompilation in Android System | |
CN104408371B (zh) | 一种基于可信执行环境高安全应用系统的实现方法 | |
US20150007259A1 (en) | Extensible platform for securing apps on a mobile device using policies and customizable action points | |
CN105022936A (zh) | 一种类class文件加密解密方法和装置 | |
KR101861341B1 (ko) | 애플리케이션 코드의 역난독화 장치 및 이를 이용한 애플리케이션 코드의 역난독화 방법 | |
CN105975816A (zh) | 移动终端下基于虚拟技术的代码保护方法及系统 | |
CN103699835B (zh) | 一种面向Android系统资源的访问控制方法 | |
CN107402792B (zh) | 应用软件安装包的集成方法、装置、设备及存储介质 | |
CN107273142A (zh) | 程序更新方法、程序运行方法及装置 | |
WO2023010814A1 (zh) | 一种对Dio网络请求进行监控的方法和装置 | |
CN109784039B (zh) | 移动终端安全运行空间的构建方法、电子设备、存储介质 | |
US9672353B2 (en) | Securing and managing apps on a device using policy gates | |
CN103885784B (zh) | 具有安全模块可插拔功能的Android平台构建方法 | |
CN104866504A (zh) | 一种对Android软件进行功能扩展的方法及装置 | |
CN104636249A (zh) | 一种应用程序调试信息生成系统和方法 | |
CN109725924A (zh) | 一种基于iOS应用的功能集成方法 | |
KR101667774B1 (ko) | 스크립트 프로그램을 위한 보안 제공 장치 및 방법 | |
CN106775843A (zh) | 基于内存加载的dalvik字节码优化方法 | |
CN104751026B (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: 20190507 |
|
RJ01 | Rejection of invention patent application after publication |