iOS中Framework如何制作

      在实际的iOS业务开发中,制作Framework都是经常遇到的,那我们如何对其进行制作哪,首先我们先来看下动态库与静态库的区别,我们了解的越多,那么我们对于自己做的事情也就越得心应手。

动态库与静态库的区别:

静态库:连接时完整地拷贝至可执行文件中,被多次使用就有多份冗余拷贝;

动态库:连接时不复制,程序运行时由系统动态加载到内存,供程序调用,系统只加载一次,多个程序共用,节省内存系统的.framework是动态库,我们自己建立的.framework是静态库

.a与.framework的区别

a. .a是一个纯二进制文件,.framework中除了有二进制文件之外还有资源文件

b. .a文件不能直接使用,至少要有.h文件配合,.framework文件可以直接使用

c. .a + .h + sourceFile = .framework

打包Framework流程

1.创建Framework工程

File->Project->Framework(选择iOS, 以及选择Framework & Library) 命名工程是XMFramework

2.添加要集成打包的类.h/.m/.a/Bundle/Framework等

3.配置工程的打包环境

a.将Mach-O Type设为Static Library, framework可以是动态库也可以是静态库,对于系统的framework是动态库,而用户制作的framework只能是静态库; 选中XMFramework->Build Settings->Mach-O Type(搜索mach) b.Build Active Architecture Only 修改为NO, 否则生成的静态库就只支持当前设备的架构; c.iOS Deployment Target, 静态库需要支持的最低版本号要小于等于主项目的版本号 d.Valid Architecture 支持的iOS的CPU架构

4.工程配置

a. 在frameworks下的Build Phases下的headers里面会有三个目录

Public, Private, Project

将要给用户暴露出来的头文件加入到Public中,将要隐藏的头文件 拖入Private或是Project下 这样隐藏的头文件将无法被引用了

b.把允许别人应用的头文件引入到第一步创建项目是自动生成的 XMFramewok.h中,XMFramewok.h文件是整个包对外提供的入口头 文件

5.合并打包

        1、分别在模拟器和真机设备下编译,生成两个XMFramewok.framework文件,然后将两个文件使用命令合成一个

lipo -create + 上面两个文件的路径+ -output + 合成后文件的输出路径

        2、将上部生成的framework放入到真机编译的包中,就是将其替换掉,就得到了最终的是支持模拟器又支持真机的framework了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大王算法

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值