Swift + framework 的制作(基于project)

  • Post author:
  • Post category:其他


1.framework开始前的 理论

1).初衷

开始的理由千千万,但殊途同归.

(1) 提供给公司外部的人员使用, 不希望暴露内部”高大上”的实现

(2) 公司内部多个项目公用资源, 使用方便

(3) 模块化、分工合作, 架构组完成基础的实现, 功能开发工程师只需要关注功能实现, 不需要关注底层实现

(4) 提高编译速度,减少少量的改动引起的大量重复的编译

……

2).动态库,静态库

动态库存在形式: .framework, .dylib, .tbd

动态库是引用关系,编译时不会被拷贝到程序中,程序运行时 由系统动态加载

静态库存在形式: .a 和 .framework

静态库编译时会被完整拷贝一份到目标程序中

动态库与静态库详细的区别 参考:


https://my.oschina.net/shoutan/blog/786636

2.创建framework

1).创建工程

模板选择Cocoa Touch Framework

1创建framework.png

2).编写自定义代码

对需要共享的内容分模块添加

2编辑自定义代码.png

!建库时不得不注意的就是 swift的访问级别

Swift 提供了三种访问级别。这些访问级别相对于源文件中定义的实体,同时也相对于这些源文件所属的模块。

其中,函数的访问级别需要根据该函数的参数类型访问级别、返回类型访问级别得出。如果根据参数类型和返回类型得出的函数访问级别不符合上下文,那么就需要明确的申明该函数的访问级别。

代码中的所有实体,如果你不明确的定义其访问级别,那么它们默认为internal级别, 所以, 只是在一个工程中使用, 可以不用声明访问类型, 该工程 均可访问。

swift 三个等级的访问控制权限,可以简单的通过下面的规则来进行选择:

  • Public: 对 App 或其他 framework 可见。
  • Internal: 对该 framework 可见
  • Fileprivate: 对该编译文件可以见
  • Private: 对该类可见

具体参考文档:

http://wiki.jikex



版权声明:本文为weixin_49892253原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。