iOS靜態庫小結

來源:互聯網
上載者:User

標籤:

準備知識:

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靜態庫小結

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.