整个项目打包framework || 打包Framework

注意:

  1. Appdelegate 不能打包到framework 里面,所以AppDelegate.m文件在编译的文件列表中要撤选,在AppDelegate中做的一些操作要全部封装成接口暴露出去
  2. 项目中使用的三方框架最好是换成cocoapods管理
  3. .默认情况下,只会打包代码文件,像图片,xib,sb,plist文件等都不会被打包,这时这些资源文件即使打成framework也不会被成功使用 ,这就需要创建一个bundle文件夹,把你所有的图片,plist文件,Images.xcassets,xib,storyboard都会打包进去,而且项目中用到这些资源文件的时候,只能通过bundle/xxx.png文件名的方式来设置(如果允许,可以直接把图片等资源直接放到外面就可以直接调用)

第一步

先创建一个静态库工程,选择framework
创建framework

第二步

把项目中使用的三方框架 用cocoapods 生成 这里添加一些常用的三方框架
cocoapods添加三方框架

pod install 之后生成的项目 打开就是这个样子
这里写图片描述

第三步

把需要打包的项目文件直接拖进来
拖进来

然后创建一个单利或者是你自己写好的方法也是可以的
这里写图片描述

  • 框1:这里是你拖进来将要打包成framework的项目文件
  • 框2:这个按着原本项目的配置即可
  • 框3:原本工程使用的库文件会自动添加到这里,但不会包含三方框架
  • 框4:framework支持真机就选择真机,支持模拟器就选择模拟器,两个都支持合并即可

这里写图片描述

第四步

## Build Settings ##

配置静态库支持架构,在Build Settings中,我这里只配置了真机的架构,如果需要支持模拟器的架构,可以自行添加进去.
这里写图片描述

然后把framework设置成静态库,默认状态创建的framework其实是动态库,Mach-O Type 修改为Static Library
这里写图片描述

然后创建一个bundle ,把项目中所有用到的图片都拖进去(请看注意事项第4点)

这里写图片描述

## Build Phases ##
  1. 框1 这个是你编译成framework的文件,如果有外部文件或者是单独的框架是和framework一使用的,这里需要把对应的.m文件删除
  2. 框2 同上 如果有单独的系统库 也是一样的处理方式,如果framework需要使用的没有添加进来可以加进来
  3. 框3 这里的文件都是会在framework的Headers里面显示出来的文件,头文件必须引用必须都是能看得到的状况下引用,没有的添加到系统的PCH文件里面
  4. 框4 参考注意事项第1点,把封装好的接口文件拖入到框3即可,保证framework和项目文件的不重复

这里写图片描述

接下来在编译之前,如果你原来的工程中包含有PCH文件,这时你需要在静态库工程中重新修改下它的路径,再添加一次即可。

第五步

所有工作准备完成,可以选择真机或者是模拟器进行编译即可。
项目中Products文件下的framework直接Show in finder 打开就是你生成的framework
图片,xib等资源文件都放入了Resource.bundle里面
Headers文件下即是开放出去的类文件

这里写图片描述

最后,就是新建工程,把编译出来的framework拖进去进行测试即可

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值