在平常iOS項目中,都會使用CocoaPods來對第三方庫進行導入和管理,比如AFNetworking、MJRfresh等。這些在官方源上的比較容易進行導入,直接Pod init后,然后填充上對應的庫名和版本號即可。最近想著將團隊自己封裝的代碼也用CocoaPods來管理,這里把過程記錄一下:
1、創(chuàng)建一個私有的 Spec Repo
一定要私有,GitHub上創(chuàng)建私有倉庫是要收費的,這里使用coding的,這里要在coding個人設置那里增加ssh-key,目錄為https://git.coding.net/CrazyGitter/testPods.git
這個私有倉庫其實是用來管理自己的代碼倉庫的版本和信息,相當于一個索引。
然后在終端執(zhí)行:
pod repo add testPods https://git.coding.net/CrazyGitter/testPods.git
在以下目錄就可以看到已經(jīng)添加了testPods Sepc Repo。
/Users/pengehan/.cocoapods/repos
2、創(chuàng)建自己的代碼倉庫,存放團隊封裝的代碼
第二步其實使用git、svn都可以,這里以github為例(不用私有倉庫),在github創(chuàng)建如下:
git@github.com:CrazyGitter/PodsProject.git
這里和平常創(chuàng)建git倉庫一致,目錄情況如下,相關自定義視圖放在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
進入到目錄后執(zhí)行
pod spec create PodsProject,然后目錄會生成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測試
私有Pods測試
私有Pods測試
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
上面的個別參數(shù)不懂可以另去查閱。
3、添加你的 Podspec 到你的 repo
接下來我們在將代碼描述文件導入到spec repo之前做一下驗證,在當前目錄執(zhí)行命令:
pod lib lint
這里要注意,一定要根據(jù)警告和錯誤全部解決掉,不然會添加到repo到失敗。
在終端執(zhí)行如下命令進行添加
pod repo push testPods PodsProject.podspec
查看日志如果沒問題就OK啦
4、測試使用私有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了。