元件26-二進位制:二進位制化-初級實踐方案-如何把原始碼手動打包成靜態庫並提交到遠端...

weixin_34234823發表於2017-07-14

前面的22-25主要講了:二進位制化,為什麼要二進位制,打包靜態庫。

XMGDownLoad 是 原始碼
XMGDownLoadLib 是 二進位制的

1、拖程式碼到新建的空殼靜態庫工程中,把原始碼打包成靜態庫


894719-cca6dd8a0d29c50e.png
原始碼XMGDownLoad打包成二進位制靜態庫

2、靜態庫工程的配置:Build Active Architecure Only ——> NO(不止編譯活躍構架)

3、如果是.a的靜態庫工程,這步可以不用;如果是.framework,還要在targets>bulid settings>mach-O Type>static library

3、開啟release模式

4、暴露標頭檔案:有這麼多檔案,如果都暴露,太麻煩了;所以可以在主標頭檔案中匯入下。


894719-e0da42755053afab.png
Snip20170714_45.png

5、編譯打包

6、用個podspec來描述打包好的元件。

外部:複製個podspec過來,修改podspec檔名和庫名相同;檔案內部:各個欄位的修改,描述的、遠端的、本地的。。。。

7、修改podspec,這裡重點描述的是products和Headers檔案,其他的不用管:關於宿主工程要方便用到.framework時候,.framework工程中還要做的一些事情(關於標頭檔案和podspec怎麼描述.framework)。

  1. 庫工程根目錄下,新建Headers,把products裡面的.h標頭檔案都複製到Headers中去(這樣避免匯入標頭檔案時候不方便,如# import <framework/framework.h>)
  1. podspec的描述


    894719-6bd4721a21c4e2f3.png
    podspec的描述庫的使用.png

8、git提交庫檔案到遠端

9、宿主使用
修改Podfile,pod 'XMGDownLoadLib',pod install。

10、這樣的弊端,要維護XMGDownLoad和XMGDownLoadLib兩個工程,宿主工程還要修改Podfile來切換原始碼和庫形式。如果庫很多,工作量就大了。

靜態庫打包路徑小技巧

小技巧,每次打包好,想找到product裡面的包,都要show In finder,才能找到;可以通過設定,把包放在工程下面,這樣原始碼和包都在工程資料夾下。

file>projective setting>advancert>custerm>修改

894719-f998d7c36a2a5593.png
1.png
894719-12a090eca2b43704.png
2.png
894719-0c0929d5201bad9c.png
3.有Product存放路徑
894719-c53d76125cc8a4a8.png
4.修改路徑
894719-5a9cd4ffc6d7e72a.png
5.products和build轉移到了工程目錄下

相關文章