現在大家都在推進子產品化,每次粘貼拷貝煩了,我也搞個子產品化,因為公司要新起項目,我想我不能每一次都來粘貼一次這麼多的基礎庫檔案,我直接子產品化出來好了,每次要用pod下就好了,還可以持續更新。
首先我們來說下這樣做的好處,特别是多人開發的時候,這樣是特别友善的,還有就是代碼幹淨,工程裡隻有業務代碼,然後業務代碼再根據功能進行子產品,我這裡還沒弄,項目不大不太需要。主要是在大工程這樣的好處更大,清晰,問題好定位,代碼幹淨解耦,同時也鍛煉你的抽象能力吧。
這次我抽象出來的項目叫“KZWFoundation”,其中包含了基礎控件的統一風格封裝,基礎網絡架構的封裝(對af 3.0的再次封裝)包含加密驗簽,router,基礎controller,通用控件視圖,基礎宏,和一些基礎category的封裝。
下面說下,怎麼建立自己的cocospod庫:
1、将你需要的檔案和demo項目建立在github:
第一步,建立.png
這裡借用了James大叔的圖,人懶就不重複截圖了。
2、說下共享吧:
1 | |
編輯.podspec:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 | |
這裡重點說下,遇到的坑,s.source_files這個說的是你要共享的檔案的位置,和你在建立之後的檔案沒任何關系, s.subspec這個才是建立檔案夾如果你沒有就是預設沒有檔案夾,檔案都在你的庫下面,這樣會很醜很難看,很不優雅,然後s.subspec這個裡面也是一個cocospod是以你需要把你用到的都加上,然後我們說下資源檔案,我們都是優雅的人是以我們肯定不能丢各種png檔案對不對,是以我們需要建立bundle,然後配置是s.resource_bundle = { 'KZWFundation' => ['Classes/Rseouce/KZWFundation.bundle'] }這個浪費我一個下午,是以大家需要看下其他的比較大的庫是怎麼配的不用走彎路。
3、然後是驗證
1 | |
這個是驗證本地,最好是先跑下這個,沒問題在送出然後驗證遠端,開始我沒這麼做一個天送出了10個版本,被自己蠢死了。
4、送出
1 2 3 4 5 6 7 | |
5、驗證遠端的
1 | |
6、沒問題了之後送出
1 2 | |
如果trunk注冊過了可以跳過注冊直接推就好了,成功後就會讓你告訴你的朋友了,這樣就完成了,然後你就可以pod下來了,完美。然後你在改的話,就要升版本,改一次升一次版本。