title: 創(chuàng)建私有庫
tags: 私有庫,framework
date: 2016-02-11
博客地址
Cocoapoads建立私有庫
該教程展示如何在github上建立自己的私有庫,按照此教程也可應(yīng)用在公司的git服務(wù)器上,使用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斯碌,請參看這篇教程(當然您可以創(chuàng)建其他xcode工程)
img1testLib工程結(jié)構(gòu)如下圖
img2
新建編寫代碼后一死,使用
git
命令肛度,將修改push到github上
-
Terminal
進入TestLib
目錄,執(zhí)行pod spec create TestLib
,將在TestLib目錄下創(chuàng)建TestLib.podspec
文件投慈。
按照TestLib.podspec
中的注釋改寫TestLib.podspec
的內(nèi)容承耿。
主要改寫的內(nèi)容如下冠骄,您也可以點擊此處查看完整的podspec的內(nèi)容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請自行查閱相關(guān)資料
TestLib.podspec
編寫完整后,請使用pod spec lint TestLib.podspec --verbose
命令檢查podspec
文件的有效性加袋。根據(jù)提示消除所有錯誤凛辣,最后使用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上。腳本詳細內(nèi)容您需要將腳本里的mySpecs換成您自己的specsName
該腳本先將腳本所在的文件夾中(TestLib)的修改push到github 上蚀之; 根據(jù).podspec中的s.version中的版本蝗敢, 在.cocoapods/repos/mySpecs新建或者更新版本,所以如果您 想更新版本足删,只需要修改s.version寿谴,腳本會自動更新repos中的 版本; 讀出當前庫最新的commit id,并將其寫入到repos中的podspec 中失受,所以您修改庫的代碼后讶泰,運行該腳本,repos中改庫的 podspec會將版本指向改庫最后的一次的commit的版本拂到; 通過腳本修改.cocoapods/repos/mySpecs的內(nèi)容后痪署,在將其 修改push到相應(yīng)的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的代碼辖试。
- 新建私有倉庫已經(jīng)完成了辜王,并向私有倉庫中加入了一個TestLib的私有庫。您可以通過
pod search TestLib
查看是否能搜到TestLib庫罐孝。
- 新建私有倉庫已經(jīng)完成了辜王,并向私有倉庫中加入了一個TestLib的私有庫。您可以通過
使用私有庫
新建xcode工程呐馆,并新建podfile文件(如何使用cocopods管理第三方庫,請上網(wǎng)查閱相關(guān)資料莲兢,cocoapods官網(wǎng))
podfile內(nèi)容形如
source 'https://github.com/CocoaPods/Specs.git'
source 'https://github.com/JustinYangJing/MySpecs.git'
platform :ios, "7.0"
pod 'TestLib'
執(zhí)行pod install
引入podfile中指定的庫
podfile默認使用"https://github.com/CocoaPods/Specs.git"作為source汹来,由于使用自己的私有倉庫,所以需要手動指定各個倉庫的地址改艇。