美文网首页
自己实现一下Framework制作

自己实现一下Framework制作

作者: 不一样的色彩 | 来源:发表于2018-05-17 14:39 被阅读0次

    有的时候自己想封装一个控件,但是又不想别人在自己的基础上去改动,所以将自己代码编译成静态库,这里用Framework。闲来无事自己也试着尝试一下。
    1: 首先创建一个项目

    Framework1jpg.jpg Framework2.jpg

    2:然后创建一个名叫Util 的工具类 ,然后声明一个方法 -(void)tool;
    在.h中实现


    Framework3.jpg

    3:下面需要更改一下参数
    在TARGETS下选中工程,在Build Settings下更改几个参数。


    Framework5.jpg

    4:增加armv7s
    在Architectures下增加armv7s,并选中。将Build Active Architecture Only 设置为NO。


    Framework6.jpg

    5:设置Headers


    Framework7.jpg

    6:将你要公开的头文件拖至Public下,要隐藏的放在Private或者Project下,当然,隐藏的头文件就无法再被引用。

    然后需要在Test.h(必须是公开的,否则无法引用)中将你所有要公开的.h引入。


    Framework8.jpg

    开始打包Framework

    第一步:
    选中模拟器,编译程序(等待编译成功)
    第二步:
    选中测试机,编译程序(等待编译成功)
    第三步:
    在finder中找到framework文件


    Framework10.jpg

    具体步骤,看下边的图:打开终端,手动输入lipo -create命令,然后是iphoneos下PublicModule的路径(找到iphoneos下PublicModule的文件,拖拽进来),会自动有空格,继续是simulator下PublicModule的路径(同样找到simulator下PublicModule的文件,拖拽进来),也会自动有空格,然后输入-output,然后敲空格,在引入一个新的路径(拖拽进一个新的路径),最后敲回车。这样就完成合并了。

    Framework11.jpg

    上面这段命令就是把真机和模拟器的PublicModule合并成一个MyNewFrameworktest文件并存放在桌面上的New文件夹下。


    Framework12.jpg

    这里我们合并的时候会遇到一个error,这是啥原因还真不知道,但是会在和我们-output的文件夹路径并列的地方生成一个.lipo文件,这个.lipo文件我们下边会说到。

    吧上面生成的new.lipo 文件 改为PublicModule名字,然后分别找到iphoneos下PublicModule的路径和simulator下PublicModule的路径 替换掉里面的PublicModule

    第四步:
    将修改后的framework拷贝出来保存,这就是我们最终制作的framework。

    Framework13.jpg

    然后拿到项目中,引入头文件就可以调用了。

    相关文章

      网友评论

          本文标题:自己实现一下Framework制作

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