靜態庫介紹與簡單演練及同名資源衝突解決,靜態演練

來源:互聯網
上載者:User

靜態庫介紹與簡單演練及同名資源衝突解決,靜態演練

1、靜態庫和動態庫都是閉源庫,不公開原始碼。

靜態庫:.a和.framework

動態庫:.dylib和.framework(iOS9取消了.dylib,使用.tbd替代)

 

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

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

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

注意:項目中如果使用了自製的動態庫,不能被上傳到AppStore。

        因為:動態庫存在於系統中,可以更新,不用上傳AppStore就可以(Apple不賺錢了),存在較大風險(注入攻擊,冒充系統類別庫,APP之間傳值,因為用的都是相同的東西)。

 

3、靜態庫建立:

 

4、靜態庫目錄介紹:

 

5、建立項目並匯入靜態庫:

 

6、使用匯入的靜態庫的方法:

 

7、添加自訂來源檔案的時候,還需要手動添加其標頭檔,同樣,添加的資源檔,也需要手動匯入:

 

手動匯入:

 

我們再來看看產生的檔案,可以看到已經有了自訂來源檔案的標頭檔了:

 

8、使用靜態庫的建立圖片方法和資源檔建立圖片並顯示:

 

9、注意了啊,如果項目中的資源檔和靜態庫中的資源檔同名的時候,將會使用項目中的資源檔:

 

10、那怎麼讓顯示靜態庫中的資源呢:

很簡單:把資源放到一個Bundle包中,然後把Bundle包添加到靜態庫中,並使用“步驟7”,手動匯入Bundle包,然後使用資源時:“Bundle包/資源名”即可。

 

資源放入Bundle包並把Bundle包拖入項目中:

 

手動匯入Bundle包:

 

產生靜態庫:

 

11、使用“Bundle包路徑/資源名”引用靜態庫的資源檔:

 

12、重建靜態庫檔案,並匯入項目中,調用靜態庫代碼,可以看到,這時候建立的圖片,就是靜態庫中的圖片

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.