FrameWork静态库

目前越来越多的静态库采用的是FrameWork形式

  • 因为他就是一个包,使用分厂方便,并且关键看起来高大上
  • 在开始之前说一下注意点
    • 默认创建的FrameWork静态库是动态的,在使用的时候程序会报错,得对项目进行设置
      Bulid Setting ----Mach-----static
  • 动态FrameWork库苹果是不允许上传AppStore的
  • 跟.a的静态库区分开来,不要生成的包当成FrameWork静态库文件
  • 如果动态库中有分类默认是不会参与编译需要配置 运行会发送找不到方法的经典错误
FrameWork静态库_第1张图片
Snip20160606_50.png

项目-> target->Bulid Settings-->Other Linker Flags ->-ObjC
代表项目所有的objc文件都会参加编译

  • 下面开始制作
  • 新建一个FrameWork静态库项目
FrameWork静态库_第2张图片
Snip20160605_41.png
FrameWork静态库_第3张图片
Snip20160605_42.png
  • 创建好的项目的结构
FrameWork静态库_第4张图片
Snip20160605_43.png
  • 我们创建一个工具类MatchTool 并添加方法


    FrameWork静态库_第5张图片
    Snip20160605_44.png
  • 下面这一步非常重要 暴露头文件

FrameWork静态库_第6张图片
Untitled.gif
  • 主头文件里面添加头文件

注意:这里#import头文件的方式 因为在一个包中所以直接使用#import "MatchTool" 而不是<>

我们可以模仿官方的写法

FrameWork静态库_第7张图片
Snip20170525_2.png
FrameWork静态库_第8张图片
Snip20160605_46.png
  • 接下来我们先看一下一下使用默认生成的动态库的结果是什么样
  • 直接编译
FrameWork静态库_第9张图片
Snip20160605_48.png
  • 我们新建一个Test工程进行测试
FrameWork静态库_第10张图片
Untitled.gif
Untitled.gif
  • 上面导入惊天库使用会直接报错,原因是默认生成的是动态的FrameWork库
    • 有解决的办法 就是苹果不允许程序上传AppStore
    • 下面解决办法
FrameWork静态库_第11张图片
Untitled.gif
  • 那么我们一般生成的是静态的Framework库,那么怎么设置呢
    • 设置方法
FrameWork静态库_第12张图片
Untitled.gif
  • 然后我们在编译生成的Framework库就是静态库了

  • 我们将我们生成的模拟器跟真机的库合并

Untitled.gif
  • 这样就生成了一个真机跟模拟器都可以使用的FrameWork静态库了

你可能感兴趣的:(FrameWork静态库)