1. 程式人生 > >使用私有Pod Spec的類庫--提高公司開發效率

使用私有Pod Spec的類庫--提高公司開發效率

前言

找了這麼長時間,再次開始去嘗試Cocoapods了。前面已經寫過一篇關於如何把自己的Github上的程式碼庫新增Cocoapods支援,如果沒有看,強烈建議先看一下那篇,看完之後再繼續此文。現在就讓我們看一下如果搭建私有的Spec吧。
之所以構建私有Spec,是因為公司的好多東西都是通用的,有的時候也許其他的專案中也要用到,所以最好的方式就是把它構建成庫,直接
pod install
就能構建到專案中來。但是按照前面說的顯然是不行的,如果直接放到https://github.com/CocoaPods/Specs.git 上,那麼所有人都能下載,很顯然是不行的,因為有的程式碼是公司的機密,所以上面部落格中提到的方法顯然不能滿足要求。這個時候搭建私有Spec就顯得很有必要了。
首先,請確保你知道如何去把自己的Github上的程式碼庫新增Cocoapods支援。因為搭建私有Spec和上述部落格上的內容大同小異,但是又有很大差異。

開始

這裡將從最初的開始進行介紹,包括在公司gitlab上構建專案,然後到最後的其他公司專案中使用Cocoapods引入自己構建的庫。
步驟如下:
1、建立私有的Spec Repo
2、將私有Spec Repo關聯到本地
3、構建自己在公司內部共享的庫
4、把要共享的庫新增到私有Spec Repo中
5、成功完成,開始使用

1建立私有的Spec Repo

開啟公司的gitlab地址(這裡以gitlab為例),然後建立一個新的Project,並命名為XXSpecs。(建議可以使用公司字首做標示)。這個就類似於CocoaPods的Specs,只不過這個是在自己公司git上搭建的一個倉庫。這個步驟應該不難,如果有問題的可以參考一下

上一篇部落格

2 將私有Spec Repo關聯到本地

開啟終端,輸入命令列:
pod repo add [本地Spec Repo名稱][遠端Spec Repo地址]

例如我的:
pod repo add MySpecs https://xxxxxxxxxxx/zhanggui/MySpecs.git
這裡的xxxxxxx就是自己公司的git地址。
此時跳轉到資料夾:repos。就是:
~/.cocoapods/repos/
你就會發現除了有一個master,還有就是你自己的MySpecs:
91B62B90-32E1-49F7-B17F-5CFB8D57DC5E.png
然後切換到自己構建的私有Spec:
cd ~/.cocoapods/repos/[本地Spec Repo名稱]
例如我的:
cd ~/.cocoapods/repos/MySpecs


然後執行:
pod repo lint
執行完之後,就完成了第二步。(這裡執行這個命令後,我終端顯示-----------------,好多,然後執行完了就行了,貌似時間有點長,請耐心等待)。

3 構建自己在公司內部共享的庫

這裡就是你將自己需要共享的庫先在自己公司gitlab上建立工程,然後將這個工程目錄下建立 .podspec(注意修改該檔案裡面的資訊,不會可以參考上篇部落格)。並且校驗是否通過。通過之後將程式碼提交到gitlab。
ok,第三步完成。

4 把要共享的庫新增到私有Spec Repo中

首先,這裡你先到你要共享的工程的gitlab上新增一個Tags,記得版本號和podspec裡面的版本號一致(****這裡很重要****)。
更簡單的完成第四步(一定要確保第三步的驗證通過),執行命令:
pod repo push [本地Spec Repo名稱][podspec檔案路徑] --allow-warnings
例如我的:
pod repo push MySpecs ~/zhanggui/MyTools.podspec --allow-warnings
成功之後應該是這樣的:
6B0CD8D3-02A6-49E8-BBDA-33758B456759.png
這樣你就可以在你的MySpecs資料夾下看到自己的MyTools了。應該是這樣:
01B3CBCE-1CC7-456B-8BC8-5266926EB708.png
ok,第四步就完成了。

成功完成,開始使用

和原來的常規的使用cocoapods一樣,只不過有點小區別,你需要在Podfile裡面新增以下兩句程式碼:
source 'http://xxxxxxxxxxx/zhanggui/MySpecs.git'
source 'https://github.com/CocoaPods/Specs.git'
這裡就是告訴pod install的時候查詢的庫來自公共庫和私有庫。例如我的Podfile:
source 'http://xxxxxxxxxxx/zhanggui/MySpecs.git
source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '8.0'
use_frameworks!
target 'MyDemo' do
pod 'Toast'
pod 'MyTools'
end
接下來就可以使用了。

三、總結

百度、Google了多篇文件,然後進行總結,終於實現構建公司私有Cocoapods庫。極大地方便了程式碼的複用性。
如果問題,請加QQ群溝通: 206613455

四、參考文件