標籤:
準備知識:
1.什麼是庫?
庫是程式碼的集合,是共用程式碼的一種方式
2.根據原始碼的公開情況,庫可以分為2種類型
a.開源庫
公開原始碼,能看到具體實現 ,比如SDWebImage、AFNetworking
b.閉源庫
不公開原始碼,是經過編譯後的二進位檔案,看不到具體實現。主要分為:靜態庫、動態庫
3.靜態庫和動態庫的存在形式
靜態庫:.a 和 .framework
動態庫:.dylib 和 .framework
4.靜態庫和動態庫在使用上的區別
靜態庫:連結時,靜態庫會被完整地複製到可執行檔中,被多次使用就有多份冗餘拷貝。
動態庫:連結時不複製,程式運行時由系統動態載入到記憶體,供程式調用,系統只載入一次,多個程式共用,節省記憶體。
5.建立靜態庫可能出於以下幾個理由:
1.你想將工具類代碼或者第三方外掛程式快捷的分享給其他人而無需拷貝大量檔案。
2.你想讓一些通用代碼處於自己的掌控之下,以便於修複和升級。
3.你想將程式庫共用給其他人,但不想讓他們看到你的原始碼。
4.比如很老的架構使用的是MRC環境下面的架構,那麼我們只需要將其打包成靜態庫就可以了,這樣就不用擔心是不是ARC環境了。
Xcode建立靜態庫詳解(Cocoa Touch Static Library)(本人使用的是Version 6.3)
一、建立靜態庫檔案(.a 檔案)
開啟Xcode, 選擇File ----> New ---> Project。
選擇iOS ----> Framework & Library ---> Cocoa Touch Static Library。
點擊Next。按照流程一步一步的建立工程。
注靜態庫檔案的版本(4種)
1.真機-D2.真機-Release版本
3.模擬器-Debug版本
4.模擬器-Release版本
調試版本(Debug版本) VS 發布版本(Release版本)
--------------------------------------------------------------------------------
- 調試版本會包含完整的符號資訊,以方便調試
- 調試版本不會對代碼進行最佳化
- 發布版本不會包含完整的符號資訊
- 發布版本的執行代碼是進行過最佳化的
- 發布版本的大小會比調試版本的略小
- 在執行速度方面,調試版本會更快些,但不意味著會有顯著的提升
iOS靜態庫小結