前言
对于新手程序员来说,可能还不了解什么是静态库,还有一个相对应的概念叫动态库。那开篇我们先了解一下两个库的基本概念,什么是静态库,什么是动态库。
概念
静态库:链接时,静态库会被完整地复制到可执行文件中,被多次使用就有多份冗余拷贝。文件后缀:.a或者.framework
动态库:链接时不复制,程序运行时由系统动态加载到内存,供程序调用,系统只加载一次,多个程序共用,节省内存。文件后缀:.dylib或者.framework
所以我们一般可以在文件后缀上可以区分哪些是静态库,哪些是动态库。但是我们要注意的是,我们使用动态库必须是苹果自己设计的动态库,自制的在审核的时候会被拒。别问为什么,苹果有时候就是这么的强势。
实现方法
一、新建项目,这个就不多说了,选择“Cocoa Touch Static Library”,下一步为你的静态库项目命名。
二、编写实现代码。在外部传入简单的字符串,然后弹出一个AlertView
首先,我们要提供给外部调用方一个入口。这个入口的作用通俗一点就是一本说明书,在这个入口中,要提供调用静态库的方法,需要传入的参数。当使用正确的方法和传入正确的参数后就可以使用静态库了。我们用一个.h文件来作为静态库的入口。
demo中“StaticLibDemo.h”就是这个静态库的入口。.m就是具体实现的方法
然后在.m中我们实现弹框。
接着,在配置项我们完成对外部入口.h的配置。
最后,build一下就完工了。
不过这里我们主要一个重点信息:
静态库文件的版本(4种)
真机-Debug版本
真机-Release版本
模拟器-Debug版本
模拟器-Release版本
如果既想要在真机调试又想在模拟器调试,那怎么办?
答案很简单,在mac 终端输入一串命令就可以了。
lipo -createDebug-iphoneos/xxx.aDebug-iphonesimulator/xxx.a -outputxxx.a
Demo实现
运行一下,完美
下一篇介绍如何在workspace里实现静态库的调试