在平常iOS項(xiàng)目中绪杏,都會(huì)使用CocoaPods來對(duì)第三方庫進(jìn)行導(dǎo)入和管理轮锥,比如AFNetworking、MJRfresh等毡琉。這些在官方源上的比較容易進(jìn)行導(dǎo)入铁瞒,直接Pod init后,然后填充上對(duì)應(yīng)的庫名和版本號(hào)即可桅滋。最近想著將團(tuán)隊(duì)自己封裝的代碼也用CocoaPods來管理慧耍,這里把過程記錄一下:
1、創(chuàng)建一個(gè)私有的 Spec Repo
一定要私有虱歪,GitHub上創(chuàng)建私有倉庫是要收費(fèi)的蜂绎,這里使用coding的,這里要在coding個(gè)人設(shè)置那里增加ssh-key笋鄙,目錄為https://git.coding.net/CrazyGitter/testPods.git
這個(gè)私有倉庫其實(shí)是用來管理自己的代碼倉庫的版本和信息师枣,相當(dāng)于一個(gè)索引。
然后在終端執(zhí)行:
pod repo add testPods https://git.coding.net/CrazyGitter/testPods.git
在以下目錄就可以看到已經(jīng)添加了testPods Sepc Repo萧落。
/Users/pengehan/.cocoapods/repos
2践美、創(chuàng)建自己的代碼倉庫洗贰,存放團(tuán)隊(duì)封裝的代碼
第二步其實(shí)使用git、svn都可以陨倡,這里以github為例(不用私有倉庫)敛滋,在github創(chuàng)建如下:
git@github.com:CrazyGitter/PodsProject.git
這里和平常創(chuàng)建git倉庫一致,目錄情況如下兴革,相關(guān)自定義視圖放在CustomView目錄下绎晃。
pengehan:PodsProject pengehan$ ls -lh
total 24
-rw-r--r-- 1 pengehan staff 0B 2 20 14:26 0.0.1
drwxr-xr-x 4 pengehan staff 136B 2 20 11:49 CustomView
-rw-r--r-- 1 pengehan staff 1.0K 2 20 11:44 LICENSE
-rw-r--r-- 1 pengehan staff 813B 2 21 09:45 PodsProject.podspec
-rw-r--r-- 1 pengehan staff 41B 2 20 11:44 README.md
pengehan:PodsProject pengehan$ pwd
/Users/pengehan/GitHubHome/PodsProject
進(jìn)入到目錄后執(zhí)行
pod spec create PodsProject,然后目錄會(huì)生成PodsProject.podspec這樣的一份描述文件杂曲,我們vi將其編輯為:
Pod::Spec.new do |s|
s.name = "PodsProject"
s.version = "1.0.0"
s.summary = "A description of PodsProject."
s.description = <<-DESC
私有Pods測(cè)試
私有Pods測(cè)試
私有Pods測(cè)試
DESC
s.homepage = "http://www.pengyihan.xyz"
s.license = "MIT"
s.author = { "pengehan" => "pengehan@gmail.com" }
s.platform = :ios,"7.0"
s.requires_arc = true
s.source = { :git => "https://github.com/CrazyGitter/PodsProject.git",:tag => "1.0.0"}
s.source_files = "CustomView/*.{h,m}"
s.frameworks = 'UIKit','QuartzCore','Foundation'
s.module_name = 'PodsProject'
s.dependency 'Masonry'
end
上面的個(gè)別參數(shù)不懂可以另去查閱庶艾。
3、添加你的 Podspec 到你的 repo
接下來我們?cè)趯⒋a描述文件導(dǎo)入到spec repo之前做一下驗(yàn)證擎勘,在當(dāng)前目錄執(zhí)行命令:
pod lib lint
這里要注意咱揍,一定要根據(jù)警告和錯(cuò)誤全部解決掉,不然會(huì)添加到repo到失敗棚饵。
在終端執(zhí)行如下命令進(jìn)行添加
pod repo push testPods PodsProject.podspec
查看日志如果沒問題就OK啦
4煤裙、測(cè)試使用私有Pods
使用pod search PodsProject搜索可以看到我們自己的創(chuàng)建的私有Pods
-> PodsProject (1.0.0)
A sdfsdfsdfsdfsdfsdfsdfsdfsdfhort description of PodsProject.
pod 'PodsProject', '~> 1.0.0'
- Homepage: http://www.pengyihan.xyz
- Source: https://github.com/CrazyGitter/PodsProject.git
- Versions: 1.0.0 [coding-crazygitter-testpods repo]
然后在Demo project的Podfile中要添加sepc repo的路徑,如下:
source 'https://github.com/CocoaPods/Specs.git'
source 'https://git.coding.net/CrazyGitter/testPods.git'
platform :ios, '9.0'
target 'testPodDemo' do
pod 'Masonry'
pod 'PodsProject'
end
然后就可以正常使用私有Pods了噪漾。