FrameWork静态库

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

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

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

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


    Snip20160605_44.png
  • 下面这一步非常重要 暴露头文件

Untitled.gif
  • 主头文件里面添加头文件

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

我们可以模仿官方的写法

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

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

Untitled.gif
  • 这样就生成了一个真机跟模拟器都可以使用的FrameWork静态库了
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容