iOS SDK开发(入门指南)

本文深入解析SDK开发的概念,探讨静态库与动态库的区别及其在iOS开发中的应用。通过实例指导如何创建并配置自己的.framework,适用于希望深入了解SDK开发流程的开发者。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

什么是SDK开发?

日常开发中,我们会遇到某些情况不能提供源码,项目组件化等需求,这时候我们就可以使用SDK开发,在OC的开发中,我们涉及到的一般是静态库(.a)或者动态库(.framework)。(注:不是所有的.framework就一定是动态库)

静态库与动态库的区别?

静态库:链接时完整地拷贝至可执行文件中,被多次使用就有多份冗余拷贝。表现形式为 .a和.framework 动态库:链接时不复制,程序运行时由系统动态加载到内存,供程序调用,系统只加载一次,多个程序共用,节省内存。 表现形式为 .dylib和.framework 注意:动态库只能苹果使用,如果项目中使用了动态库不允许上架(如:jspatch)

a与.framework有什么区别?

.a是一个纯二进制文件,.framework中除了有二进制文件之外还有资源文件。 .a文件不能直接使用,至少要有.h文件配合,.framework文件可以直接使用。 .a + .h + sourceFile = .framework。 建议用.framework.

接下来将以实例帮助大家创建一个自己的.framework

首先我们先创建一个.workspace

创建完毕后,再创建一个.frmawork
将创建好的frmawork加入到workspace
framewrok中可以封装入自己需要封装的内容
eg: 我在StringUtils中加入了一个测试方法

#import "StringUtils.h"

@implementation StringUtils
+ (NSString *)testString:(NSString *)string {
    
    return [@"MQTestFramework: " stringByAppendingString:string];
}
@end
复制代码
接下来进行项目配置:

1、设置Build Setting参数 将Build Active Architecture only设置为NO

2、设置Build Setting参数 Mach-O Type 为Static Library (配置静态、动态)

3、设置Build Setting参数 在Architectures下增加armv7s

4、在Build Phases中设置需要公开和需要隐藏的头文件

5、将头文件引入到MQTestFramwork (自己SDK的头文件)

6、Command + B运行项目,在Product中找到framework
####framework使用 将封装好的.framework拉入需要使用的项目中
使用封装好的功能
运行:

转载于:https://juejin.im/post/5cf8ad416fb9a07ee063073a

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值