打包和調試靜態庫(2),打包調試靜態庫

來源:互聯網
上載者:User

打包和調試靜態庫(2),打包調試靜態庫

                              我們接著上一次的講...

    1.上一次說過,真機的靜態庫只能在真機上用,模擬器的靜態庫只能在模擬器上用,所以,就先講一下產生了真機和模擬器的.a靜態庫後,怎樣避免來回拖拽真機和模擬器的靜態庫到工程裡,也就是直接拖拽一個靜態庫就行。

    解決方案:利用命令列語句 

      1.切換路徑,到Products目錄下

      

      2.合并靜態庫

      

     這句命令列理解起來並不難,我大體說一下,lipo -create 要合并的靜態庫1 要合并的靜態庫2 -output 合并後的靜態庫檔案名稱,注意,預設儲存到目前的目錄下。

       

 

     這樣合并完的靜態庫就搞好了,只要把lib中的靜態庫替換成這個staticDemo.a的靜態庫,然後拖入你的工程中就可以隨意用了。不過,由於是合并的靜態庫,大小肯定並比合并之前的大,會讓你的項目也跟著變大,所以在真實項目要打包的時候最好還是根據需求來,這裡只是告訴大家這麼一個辦法可以解決,自己平常可以用。

    2.上一個圖,我們能注意到我們產生的靜態庫檔案夾都是Debug-xxx,這個Debug代表的是調試,還有一種發布Release狀態,那如何產生呢?            

    然後在分別在模擬器和真機下Command+B一下,就可以產生了。產生後顯示如:

      

    Release的用法和Debug的基本一致。那麼他們兩個有什麼區別呢???

    比較正經的說法是:

      調試版本會包含完整的符號資訊,不會對代碼進行最佳化。

      發布版本不會包含完整的符號資訊,代碼是會進行最佳化的。

    比較通俗的說法是:調試版本會把你程式中的NSLog這樣的列印語句也會執行,而發布版本就不會。

    3.調試靜態庫

      現在我們Command+R運行一下,會出現兩個錯誤。

      

      怎麼解決呢?(解決完就可以調試我們的靜態庫函數了)

      很簡單,只要配置一下就好了,

        

      加完這兩項就真的ok啦!

     4.打包.framework和.a的步驟很像。等有時間我在更新一個.framework的,說一下注意點就行啦。

      .framework和.a的區別就是.framework不需要你手動將.h和bundle拖到你的檔案夾裡,會自動產生。

      打包和調試靜態庫就到這了!!    

 

相關文章

聯繫我們

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