前言
? ? 對于新手程序員來說,可能還不了解什么是靜態(tài)庫,還有一個相對應(yīng)的概念叫動態(tài)庫。那開篇我們先了解一下兩個庫的基本概念,什么是靜態(tài)庫,什么是動態(tài)庫。
概念
? ? 靜態(tài)庫:鏈接時,靜態(tài)庫會被完整地復(fù)制到可執(zhí)行文件中,被多次使用就有多份冗余拷貝。文件后綴:.a或者.framework
? ? 動態(tài)庫:鏈接時不復(fù)制,程序運行時由系統(tǒng)動態(tài)加載到內(nèi)存,供程序調(diào)用,系統(tǒng)只加載一次,多個程序共用,節(jié)省內(nèi)存。文件后綴:.dylib或者.framework
? ? 所以我們一般可以在文件后綴上可以區(qū)分哪些是靜態(tài)庫,哪些是動態(tài)庫。但是我們要注意的是,我們使用動態(tài)庫必須是蘋果自己設(shè)計的動態(tài)庫,自制的在審核的時候會被拒。別問為什么,蘋果有時候就是這么的強勢。
實現(xiàn)方法
? ? ?一、新建項目,這個就不多說了,選擇“Cocoa Touch Static Library”,下一步為你的靜態(tài)庫項目命名。


二、編寫實現(xiàn)代碼。在外部傳入簡單的字符串,然后彈出一個AlertView
首先,我們要提供給外部調(diào)用方一個入口。這個入口的作用通俗一點就是一本說明書,在這個入口中,要提供調(diào)用靜態(tài)庫的方法,需要傳入的參數(shù)。當(dāng)使用正確的方法和傳入正確的參數(shù)后就可以使用靜態(tài)庫了。我們用一個.h文件來作為靜態(tài)庫的入口。
demo中“StaticLibDemo.h”就是這個靜態(tài)庫的入口。.m就是具體實現(xiàn)的方法

然后在.m中我們實現(xiàn)彈框。

接著,在配置項我們完成對外部入口.h的配置。

最后,build一下就完工了。
不過這里我們主要一個重點信息:
靜態(tài)庫文件的版本(4種)
真機-Debug版本
真機-Release版本
模擬器-Debug版本
模擬器-Release版本


如果既想要在真機調(diào)試又想在模擬器調(diào)試,那怎么辦?
答案很簡單,在mac 終端輸入一串命令就可以了。
lipo -createDebug-iphoneos/xxx.aDebug-iphonesimulator/xxx.a -outputxxx.a

Demo實現(xiàn)


運行一下,完美
下一篇介紹如何在workspace里實現(xiàn)靜態(tài)庫的調(diào)試