title: 創建私有庫
tags: 私有庫,framework
date: 2016-02-11
博客地址
Cocoapoads建立私有庫
該教程展示如何在github上建立自己的私有庫,按照此教程也可應用在公司的git服務器上,使用pod對自己編寫的庫進行管理。
在github上新建倉庫
- 在github上新建MySpecs倉庫(您可以命名為任意名字),并新建
TestLib(您可以新建任意多個倉庫,此倉庫中的 工程便是您用pod
管理的第三方庫)倉庫。 -
git clone https://github.com/xxxx/MySpecs.git
和git clone https://github.com/xxxx/TestLib.git
(將地址換成您的倉庫地址)。
新建庫工程和podspec文件
-
在上一步中clone下的
TestLib
文件夾下新建您的庫工程,我使用的是新建framework,如何新建framework,請參看這篇教程(當然您可以創建其他xcode工程)
img1testLib工程結構如下圖
img2
新建編寫代碼后,使用
git
命令,將修改push到github上
-
Terminal
進入TestLib
目錄,執行pod spec create TestLib
,將在TestLib目錄下創建TestLib.podspec
文件。
按照TestLib.podspec
中的注釋改寫TestLib.podspec
的內容。
主要改寫的內容如下,您也可以點擊此處查看完整的podspec的內容s.name = "TestLib" s.version = "0.0.1" s.summary = "A short description of TestLib." s.description = <<-DESC test private spec DESC s.license = "MIT" s.platform = :ios, "7.0" s.source = { :git => "https://github.com/JustinYangJing/TestLib.git" } s.source_files = "TestLib/TestLib.h" s.subspec 'Test' do |s2| s2.source_files = "TestLib/Test/**/*.{h,m}" end s.framework = "UIKit"
如何編寫podsepc請自行查閱相關資料
TestLib.podspec
編寫完整后,請使用pod spec lint TestLib.podspec --verbose
命令檢查podspec
文件的有效性。根據提示消除所有錯誤,最后使用pod spec lint TestLib.podspec --allow-warnings
忽略警告。-
添加私有repo到CocoaPods中
pod repo add mySpecs https://github.com/xxxx/MySpecs.git 命令格式如 pod repo add specsName specsUrl 請使用您自己的specsName和存放podspec的倉庫地址
-
運行
./updateSpec.sh TestLib.podspec
腳本,該腳本的主要功能是將podspec文件copy到.cocoapods/repos/mySpecs
下,并把修改push到github上。腳本詳細內容您需要將腳本里的mySpecs換成您自己的specsName
該腳本先將腳本所在的文件夾中(TestLib)的修改push到github 上; 根據.podspec中的s.version中的版本, 在.cocoapods/repos/mySpecs新建或者更新版本,所以如果您 想更新版本,只需要修改s.version,腳本會自動更新repos中的 版本; 讀出當前庫最新的commit id,并將其寫入到repos中的podspec 中,所以您修改庫的代碼后,運行該腳本,repos中改庫的 podspec會將版本指向改庫最后的一次的commit的版本; 通過腳本修改.cocoapods/repos/mySpecs的內容后,在將其 修改push到相應的github的倉庫中。
例如:TestLib下的podspec文件的s.version = "0.0.2", 運行該腳本后,會將TestLib中最新的修改push到github上。 并在.cocoapods/repos/mySpecs下新建(更新) TestLib/0.0.2/TestLib.podspec文件,并且 TestLib/0.0.2/TestLib.podspec文件的source指向的是 最新TestLib的代碼。
- 新建私有倉庫已經完成了,并向私有倉庫中加入了一個TestLib的私有庫。您可以通過
pod search TestLib
查看是否能搜到TestLib庫。
- 新建私有倉庫已經完成了,并向私有倉庫中加入了一個TestLib的私有庫。您可以通過
使用私有庫
新建xcode工程,并新建podfile文件(如何使用cocopods管理第三方庫,請上網查閱相關資料,cocoapods官網)
podfile內容形如
source 'https://github.com/CocoaPods/Specs.git'
source 'https://github.com/JustinYangJing/MySpecs.git'
platform :ios, "7.0"
pod 'TestLib'
執行pod install
引入podfile中指定的庫
podfile默認使用"https://github.com/CocoaPods/Specs.git"作為source,由于使用自己的私有倉庫,所以需要手動指定各個倉庫的地址。