美文网首页
Framework从零开始

Framework从零开始

作者: 浅尝凉白开 | 来源:发表于2018-08-24 18:44 被阅读0次

        一饮一啄,三年时光没怎么学习,看破后方知充实自己才是正道哈哈哈!

        之前弄过.a包,这次新需求,想试试Framework,从零开始爬坑。废话不多说,直接开始,不对的地方请指正,谢谢。


    一:搭建测试demo。

    1.新建主项目ZHEVM,这个不多说了。

    2.再项目中加入Framework,取名ZHEVMFramework:

    3.新建需要暴露出来的头文件,在ZHEVMHeader.h里面方法,ZHEVMHeader.m实现方法:

    4.设置Framework参数:

    4.1:设置需要暴露的头文件:Target 列表里选中 ZHEVMFramework,Build Phases->Headers。

    4.2 Target 列表里选中 ZHEVMFramework,Build Settings->Architectures,配置支持的指令集,这里系统已经默认配置了 arm64和 armv7,所以只要增加一个 armv7s 就可以了。

    4.3 (重要)   Linking→Mach-O Type 将Dynimic Library 改成 Static Library。不选会默认动态库。

    4.4 设置完就可以导入测试了。

    二:资源文件bundle。

    1.新建文件夹,改后缀为bundle,这个就不截图了。

    2.显示包内容,将资源文件移进bundle。

    3.使用:

    ps:我使用了ZHEVMPrefixHeader.pch,取图片文件时不用每次都去写全部路径。

    三:处理第三方库。PS:公司网络原因,我这不使用pods,是pods的百度也有解决办法。

            将第三方库导入进framework的时候,add to的勾一定要取消掉,否则就会把第三方库打包进静态库了。 否则主项目也包含该第三方库会因为冲突导致项目奔溃。

    四:导出Framework。

    4.1 首先分别在模拟器和非模拟器状态下各自编译一遍。

    4.2 选中ZHEVM.framework,然后Show in Finder找到对应的 .framework文件(上级目录可以看出是真机还是模拟器文件夹,iphoneos后缀代表真机版本,iphonesimulator后缀代表模拟器,真机和模拟器运行成功的文件是在这俩个文件夹内的。)

    4.3 真机版和模拟器版framework合并。

    4.3.1 打开终端,输入lipo -create,再Show in Finder找到对应的真机版ZHEVM.framework文件之后,再找到下级的ZHEVMFramework,把文件拖到终端,再把模拟器版的ZHEVMFramework拖到终端,再输入 -output 路径。

    合并Framework

    4.3.2 复制一个真机版或者模拟器版的ZHEVM.framework到桌面,打开文件夹,把上一步生成的ZHEVMFramework替换掉原先的就可以了。

    相关文章

      网友评论

          本文标题:Framework从零开始

          本文链接:https://www.haomeiwen.com/subject/fsjmiftx.html