美文网首页
制作.a静态库

制作.a静态库

作者: Z_Tree先生 | 来源:发表于2017-07-19 10:59 被阅读15次

目的:

1>国内的企业,掌握有核心技术,同时是又希望更多的程序员来使用其技术,因此采用"闭源"的方式开发使用

例如:百度地图,友盟,JPush等

2>在企业开发中,一些核心技术或者常用框架,出于安全性和稳定性的考虑,也会提供静态库给程序员使用

制作.a静态库:

1.新建工程:选中第二个分类Framework & Library ->Cocoa TouchStatic Library,在这里面创建的工程,编译后就会生成.a文件,直接拖拽到你的开发工程中就可以使用。

2.暴露.h文件:单纯编译是没办法将.h文件暴露出来,所以要做如下操作,Build Phases ->Copy Files(0 items) -> + ,添加自己要暴露出来的.h文件

3.编译工程,生成.a文件:因为静态库在不支持的CPU架构上运行会报错,所以为了你制作的.a文件在模拟器与真机都能正常运行,请在真机与模拟器环境下都编译一次,生成两个CPU架构的.a文件,在进行合并,在丢到项目中就不会报错,下面是架构与型号的对照表:

4.查看.a文件的CUP机构:打开命令符->cd 拖拽.a文件到命令符中,回车->lipo -info 静态库名称,回车

5.设置能支持所有模拟器版本的.a文件:

6.设置成能支持所有真机和模拟器版本的.a文件:就是把模拟器的文件和真机的文件合并,重新命名。步骤:接着刚才的命令符 cd ..,会退到上个文件夹->lipo -create Debug-iphoneos(模拟器的.a文件夹)/libTools.a Debug-iphonesimulator(真机的.a文件夹)/libTools.a -output libTools.a(libTools.a:这个是你的类名,你自己改成自己生产的.a文件名)

之后就大功告成了!!!!!

#合并.a

lipo -create Debug-iphoneos/libTools.a Debug-iphonesimulator/libTools.a -output libTools.a

#合并.a的好处,开发过程中既可以在真机上调试,也可以在模拟器上调试

#合并.a的坏处,如果静态库太大,合并打包后,会非常大,因此很多第三方的静态库的.a是区分版本的

#今后在使用.a时一定注意版本

3.边开发边制作静态库

添加 个静态库的targets—>点击项—>targets—>+

测试静态库:项—>项 的target—>general—>linked framework—>添加静态库

打包静态库—>选中项 静态库—>编译(头 件)

4.使 静态库的注意点:静态库有真机和模拟器(测试阶段可以使 模拟器,发布阶段使 真机).好处:资

源包变

静态库有Debug版和release版本(测试阶段使Debug,发布阶段使release).好处:资源包变/运 速度变快/代码进 优化

5.制作.framework库1>动态库(默认)

注意:如果项 中 到了动态库进 设置:项—>项 的target—> general—

>Embedded—>添加动态库

2>静态库

制作静态库的修改配置:项—>静态库的target—>build setting—>搜索mach

—>static library

3>注意点

查看 个.framework静态库 持哪些架构:lipo -info framework件下 的 进制

合并静态库:合并framework件下 的 进制

相关文章

  • iOS小知识 -- 静态库(一)

    静态库静态库的介绍.a静态库的制作以及测试静态库的架构问题.framework静态库的制作以及测试边开发边制作静态...

  • iOS动态库、静态库及使用场景、方式

    前面介绍过制作过程,这里不讲如何制作动态库、静态库。 静态库和动态库都是以二进制提供代码复用的代码库。 静态库常见...

  • 制作静态库

    制作静态库创建静态库 frameWork 默认是动态库BuildSetting —> 搜索 “Mach” 更改...

  • iOS 制作静态库

    制作静态库 动态库:.dylib .framework 静态库:.a .framework 两者区别*:动态库时在...

  • ios中静态库.a的制作

    在ios中制作静态库之前,先来了解关于静态库的一些概念。 八、静态库和动态库在使用上的区别。静态库:链接时,静态库...

  • ios中静态库.a的制作和使用

    在ios中制作静态库之前,先来了解关于静态库的一些概念。 八、静态库和动态库在使用上的区别。静态库:链接时,静态库...

  • iOS 开发库的制作

    注:本文只是简单的介绍一家静态库(framework)的制作。 静态库制作(创建framework)创建frame...

  • iOS framework制作及使用(包含xib和图片)

    制作framework目的:保密项目代码.制作SDK时常用静态库与动态库简介:静态库:链接使用时完整地拷贝至可执行...

  • swift ios 静态库的实现

    1.swift不支持.a的静态库,因此只能制作.framework的静态库 2.静态库的使用 3.纯swift静态...

  • 静态库学习(三)

    一、framework的制作.framework的静态库制作和.a静态库的制作有三个不同的地方,其他基本一致。 1...

网友评论

      本文标题:制作.a静态库

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