IOS之制作静态库.a文件

作者: xiaofengl | 来源:发表于2017-02-09 17:28 被阅读0次

对于每一位开发者而言,开发经验积累到了一定的程度后,都想对自己的东西进行封装,方便更快捷的使用。 这里跟大家分享一下,静态库SDK的制作过程。如果有不对的地方,希望大家指正。
制作的库,可分为静态库跟动态库。静态库在加载时系统会将全部代码都复制一份到项目中去,换然之,这会造成一定程度的代码冗余。动态库则刚好相反,只要系统中有了一份,就算不同的应用也会公用一份。但是也就说明了使用动态库的应用不能上线到苹果商店的。
前提:你开发好了某一模块的功能,并且已经将改功能的代码分离出来。
这里以页面滑动模块作为例子。
1.新建这样的一个工程:

新建静态库工程.png

2.一般来说,制作的库都想要做到最大程度的兼容,这里设置一下

最大程度兼容.png

3.将开发好的模块代码加载进来

加载模块功能代码.png

注意:如果你的模块功能的代码用到类别(category)的,在category类中的所有属性都必须使用objc_setAssociatedObject进行扩展,否则制作好的静态库在使用是会报错(ps:类目只扩展方法,不可扩展属性)。

属性的扩展.png

4.制作模拟器跟真机上的.a文件
模拟器:

模拟器选择.png 编辑.png 选择debug模式.png

command+B 编译,成功后,可以看到

模拟器的.a文件.png

同样,真机的.a文件生成。
真机:

真机.png 真机2.png

command+B 编译,成功后,可以看到

真机的.a文件.png

查看:

查看.png 查看2.png

5.将两个.a文件合并,方便使用。打开终端。
输入:lipo -create 模拟器.a文件的路径 真机.a文件的路径 -output 合并后的.a文件路径

合并.a文件.png SDk制作.png

6.使用制作的.a库

使用.png 使用2.png

只用运行后,编译没问题,在加载的时候会报错:没法识别某个方法.
需要设置:

使用设置.png

重新运行。ok

没有tabBar.gif 有tabBar.gif

demo链接:https://github.com/xjl1411817045/XJL_Slide_Project.git

相关文章

  • iOS开发WorkSpace多工程联合编译

    参考链接 iOS开发之静态库.a的制作教程(有合并.a文件的方法)一篇较为详细的 ios静态动态库 的使用方法总结...

  • IOS之制作静态库.a文件

    对于每一位开发者而言,开发经验积累到了一定的程度后,都想对自己的东西进行封装,方便更快捷的使用。 这里跟大家分享一...

  • 静态库

    iOS开发之静态库.a的制作教程http://www.cocoachina.com/ios/20150226/11...

  • iOS开发之静态库制作(.a .frame)

    iOS开发之静态库制作(.a .frame) 什么是库?什么是静态库?还有什么库? 库是一个程序代码的集合(说的有...

  • iOS开发之制作framework

    iOS开发之制作framework 什么是framework Framework是资源的集合,将静态库(iOS8以...

  • iOS-开发自己的framework

    iOS开发之制作framework 什么是framework Framework是资源的集合,将静态库(iOS8以...

  • iOS开发之制作framework

    iOS开发之制作framework 什么是framework Framework是资源的集合,将静态库(iOS8以...

  • 深入iOS系统底层之静态库介绍

    深入iOS系统底层之静态库介绍 深入iOS系统底层之静态库介绍

  • iOS平台静态库的打包和调用

    在iOS平台为了实现源代码保护,可以将具体实现细节打包为静态库.a文件,同时暴露.h文件方便业务代码调用。制作静态...

  • iOS 静态库制作❣进阶

    如果没有看过 基础篇,从这里进入iOS 静态库制作❣基础篇。如果没有看过 中篇,从这里进入iOS 静态库制作❣中篇...

网友评论

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

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