ios開發靜態庫產生

來源:互聯網
上載者:User

標籤:

首先簡單說下哈: 庫就是程式碼的集合,是共用代碼的一種方式

 

 分為開源庫(sd,mi,afn)和閉源庫(看不到具體實現的)

 

 

閉源庫分為靜態庫和動態庫

靜態庫: .a 和 .framework

動態庫: .dylib 和 .framework

 

靜態庫和動態庫在使用上的區別

靜態庫:連結時,靜態庫會被完整地複製到可執行檔中, 被多次使用就有多份冗餘拷貝 

動態庫:連結時不複製,程式運行時由系統動態載入到記憶體,供程式調用,系統只載入一次,多個程式共用,節省記憶體 

注意啦: 使用自己製作的動態庫無法上傳appstore

接下來講講製作.a的方法

第一步: 建立一個工程選擇如下:

 

之後下一步啦建立工程。

開啟工程後幹掉聲稱的.h 和.m檔案如下

 

第二部:把需要封裝的類拖到工程中來

然後選擇需要暴露出來的 .h 檔案, .m 檔案會自動編譯到 .a 檔案中

 

選擇真機裝置,然後 Command+B 編譯, libMJRefresh.a 檔案從紅色變為黑色

就成功了, show in finder  就是需要的庫啦。

這裡需要注意的是: 選擇 真機啟動並執行出來的是  真機運行需要的.a檔案, 只能運行在真機上, 跑模擬器就會報錯。

因為手機的cpu架構和電腦的不同造成的。。

解決方案:

合并真機command +B出來的.a  和模擬器command +B出來的.a

合并靜態庫讓模擬器和真機都能用的招

lipo -create /Users/gti/Desktop/Debug-iphoneos/libJTK.a /Users/gti/Desktop/Debug-iphonesimulator/libJTK.a -output /Users/gti/Desktop/libJTK.a

lipo -create :固定的命令   

/Users/gti/Desktop/Debug-iphoneos/libJTK.a   真機跑出來的.a檔案的位置   這位置選中.a 檔案直接拖到終端就ok

/Users/gti/Desktop/Debug-iphonesimulator/libJTK.a   模擬器跑出來的.a檔案的位置 

output  固定命令列

/Users/gti/Desktop/libJTK.a   合并ok 的最終檔案的位置以及名字

 

 

使用 .a

如何使用 .a

直接將 .a 、 .h 、資源檔拖拽到其他項目中即可

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.