iOS: 建立靜態庫,實現本身的API私有使用

1、介紹html

在開發中常常使用到第三方的靜態框架,格式基本上就是.framework和.a格式的。使用時,會發現咱們只能使用沒法修改,這就是靜態框架的一個好處,私有性。內部實現的代碼只有公開者本人知曉,對外界是隔離的,從勞動成果上講,這也是對做者本人或者公司的一個代碼保護。那麼,咱們如何建立屬於本身的靜態庫呢,下面我就簡單地將步驟再次描述一下,在我以前的博客中有過詳細的介紹,能夠去瞅瞅:http://www.javashuo.com/article/p-gvzbfndp-gb.html
框架

 

2、比較模塊化

注意:測試

(1)開發者的都是靜態包: .framework 、.aui

(2)蘋果官方都是動態包: .framework 、.dylibspa

(3)開發者建立的動態包.dylib是不容許被上架的命令行

做用:debug

(1)方便共享代碼,便於合理使用htm

(2)實現程序模塊化,對業務解耦blog

(3)開發sdk,保護具體實現代碼

區別:

(1).a是一個純二進制文件,不能直接使用,至少須要配合.h文件一塊兒使用 

(2).framework除了包含二進制文件,還能夠包含資源文件。

(3).framework = .a + .h + sourceFile

(4)建議使用.framework

 

3、步驟

3-1:建立.framework步驟

(1)建立.framework工程項目

(2)配置buildSetting屬性字段 (有的配置會增長包體積,有的會減小包體積)

(3)拖入須要的類文件和資源包  (此處我沒有引入資源包,能夠本身建立並引入一個.bundle資源包)

(4)在BuildPhases中公開.h文件

(5)在靜態包中引入引用的.h文件

(6)使用模擬器和真機分別在debug和release模式下編譯

(7)show Finder靜態包,查找編譯成功的二進制文件

(8)使用lipo  -create  -output 命令行合併二進制文件

(9)選取模擬器和真機的任意一個靜態包,使用合併的二進制文件替換選取的靜態包的二進制文件

(10)將拷貝後的靜態包拖入到測試項目中測試

 

3-2:建立.a步驟

(1)建立.a工程項目

(2)配置buildSetting屬性字段,同上面建立.framework步驟2

(3)拖入須要的類文件和資源包  (此處我沒有引入資源包,能夠本身建立並引入一個.bundle資源包)

(4)在BuildPhases中新建New Headers並公開.h文件

(5)使用模擬器和真機分別在debug和release模式下編譯,同上面建立.framework步驟6

(6)show Finder靜態包,查找編譯成功的二進制文件

(7)使用lipo -create -output命令行合併二進制文件生成一個新的.a包

(8)將這個新的.a靜態包拷貝出來,同時將項目中的全部暴露的.h文件拷貝出來(若是有資源文件也要拷貝),放到一個文件夾下。此時,將該文件夾拖入到測試項目中測試

相關文章
相關標籤/搜索