iOS开发-Framework静态库

  • 通过Xcode的Cocoa Touch Framework创建的默认情况是动态库,我们可以在Build Settings中搜索Mach-O Type查看:Dynamic Library就是动态库


    Snip20161012_12.png
  • 如果需要创建静态库时,将上图的Mach-O Type修改为Static Library即可

  • 修改为Static Library后,我们可以创建一个类

  • 在.h中声明对外的接口,在.m中实现

  • 把需要暴露的.h文件放到Build Phases-Headers-Public中


    Snip20161012_15.png
  • 分别对Debug和Release的真机占位和模拟器进行编译,就会对应的调试和发布的版本


    Snip20161012_14.png
  • 编译之前还有在Build Settings中修改Build Active Architecture Only ,它是控制编译CPU架构的,我们分别在Debug和relaese中将其设置为NO,YES表示只编译选中模拟器对应的版本,NO则是表示不止编译活跃的架构,让所有的架构都编译,然后在调到Debug和relaese中分别进行编译即可,

  • 给别人的是release版本的静态库

  • .a静态库和.framework静态库的区别:

    • .a是纯二进制文件,.framework除了有二进制文件还有资源文件
    • .a文件不能直接使用,至少要有.h文件的配合,.framework文件可以直接使用
  • .a + .sourceFile = .framework

  • 建议使用.framework

  • 静态库程序该怎么测试(使用复合项目测试)

    • 创建一个项目(比如叫复合项目),用来来测试静态库的
    • 在这个项目中再添加一个工程(比如叫Jingtaiku),点击下图的➕按钮,这个➕是在Targets最下面的,这个工程类型选择静态库
    • 设置工程依赖:点击Targets-复合项目-Build Phases,在Target Dependencies中添加Jingtaiku
    • 编译静态库:这个项目需要运行起来,必须将静态库添加到编译中,点击Targets-复合项目-Build Phases,在Link Binary With Libraries中添加Jingtaiku
Snip20161012_18.png
Snip20161012_19.png

以下小补充


Snip20161012_16.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

友情链接更多精彩内容