iOS创建framework静态库(SDK&组件化)

一、创建

1、新建项目

打开Xcode,菜单:File – New – Project…,选择iOS – Framework – Next,取名比如MySDK,保存。

2、修改Schemes

菜单 Project – Scheme – Edit Scheme…,Debug 改成 Release

3、修改版本号和最低适配的iOS系统版本

4、配置 Build Settings
  • Base SDK:iOS(基础系统)
  • Build Active Architecture Only:NO(编译所有版本的Architecture)
  • Dead Code Stripping:NO(不去除被定义但未被调用的代码,瘦身可用)
  • Mach-O Type:Static Library 或 Relocatable Object File(静态库类型)
  • Link With Standard Libraries:NO(编译器在链接时不自动使用标准库的链接器,需配置 Other Linker Flags 来指定链接器)
  • Other Linker Flags:-ObjC(如果framework中包含类目,需要添加)
  • Enable Bitcode:NO(根据具体项目需求)
  • Debug Information Format:DWARF(不光能提高编译效率,友盟也能分析到静态库里奔溃的地方)
5、扩展
5.1 Mach-O Type的五种类型
  • Executable:可执行二进制文件,应用的主要二进制
  • Dynamic Library:动态链接库(又称DSO或DLL)
  • Bundle:非独立二进制文件,显式加载;不能被链接的Dylib,只能在运行时使用dlopen( )加载,可当做macOS的插件
  • Static Library:静态链接库
  • Relocatable Object File:可重定位的目标文件,中间结果(包体积最小)
5.2 链接库

链接库可以分为静态库和动态库,静态库有.a和.framework类型的的文件,动态库有.dylib和.framework。系统的.framework是动态库,我们自己建立的.framework是静态库。

静态库:链接时完整地拷贝至可执行文件中,被多次使用就有多份冗余拷贝。
动态库:链接时不复制,程序运行时由系统动态加载到内存,供程序调用,系统只加载一次,多个程序共用,节省内存。

二、添加代码

1、个人代码

创建两个类 MyTools 和 MyBase

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值