cocoapods 私有庫實踐筆記

躍然發表於2017-05-31

一、建立本地開發版倉庫

可以參考 Cocoapods管理原生程式碼上部分。

@我的印象筆記

二、建立服務端私有倉庫

這裡需要兩個git倉庫,一個存放原始碼,一個存放.podspec配置檔案。

1、Pod 自動建立工程

可以用命令列自動完成建立庫檔案,測試工程,podspec的步驟。

終端輸入

 pod lib create TestPrivateCodeRepo 

CoccoaPods 會問幾個問題:

要使用的語言

是否需要樣例工程

是否需要一個測試框架

是否需要基於 View 的測試

還有類的字首

然後自動開啟建立好的工程。

2、修改.podspec檔案

cd 到 TestPrivateCodeRepo根目錄下,修改TestPrivateCodeRepo.podspec檔案配置,

例如TestPrivateCodeRepo.podspec修改為這樣:

Pod::Spec.new do |s|
  s.name             = 'TestPrivateCodeRepo'
  s.version          = '0.2.0'
  s.summary          = 'cocoapods 私有倉庫測試demo'

  s.description      = <<-DESC
cocoapods 私有倉庫測試demo cocoapods 私有倉庫測試demo cocoapods 私有倉庫測試demo cocoapods 私有倉庫測試demo cocoapods 私有倉庫測試demo cocoapods 私有倉庫測試demo
                       DESC

  s.homepage         = 'https://github.com/Joeyechang/TestPrivateCodeRepo'
  s.license          = { :type => 'MIT', :file => 'LICENSE' }
  s.author           = { 'changyou0730@gmail.com' => 'changyou0730@gmail.com' }
  s.source           = { :git => 'https://github.com/Joeyechang/TestPrivateCodeRepo.git', :tag => s.version.to_s }
  # s.social_media_url = 'https://twitter.com/joeychang'

  s.ios.deployment_target = '8.0'

  s.source_files = 'TestPrivateCodeRepo/Classes/*.{h,m}'
   s.requires_arc = true

  # s.public_header_files = 'Pod/Classes/**/*.h'
  # s.frameworks = 'UIKit', 'MapKit'
  # s.dependency 'AFNetworking', '~> 2.3'
end

s.version s.homepage s.source s.source_files 要重點關注下,別配置錯了。

3、push檔案,並打上標籤

將此版本資原始檔push,並打上標籤(標籤用來pod install 指定的版本)

git add . //新增所有檔案

git commit -m "describe" //放到快取區準備push

本地git庫是直接pod lib create TestPrivateCodeRepo生成的,相當於直接 git init出來的,還沒有連結到遠端庫。

git remote add origin https://github.com/Joeyechang/TestPrivateCodeRepo.git

git pull <庫地址> master

git status //看一下狀態有東西要提交

git add .

git commit -m "describe"

git push origin master 

git tag -m "tag describe" 0.1.0 //打標籤

git push --tags //push 標籤

本地驗證podspec

pod lib lint
4、釋出podspec

建立spec庫,spec庫就相當於一個配置檔案庫,直接在Github或Coding建立一個空白庫就行了。

(這個是在測試工程根目錄即TestPrivateCodeRepo.podspec所在目錄下執行命令)

pod repo add TestSpecs 遠端Spec庫的git地址 //它的作用相當於建立一個空目錄TestSpecs,在裡面git clone 遠端Spec庫的git地址

cd 到TestPrivateCodeRepo根目錄,驗證podspec

pod lib lint TestPrivateCodeRepo.podspec
驗證順利的話將podspec釋出

pod repo push TestSpecs TestPrivateCodeRepo.podspec
此時遠端Spec庫和本地~/.cocoapods/repos/TestSpecs路徑下都得到了更新。
5、測試

新建工程》pod init >>編輯Podfile

source 'https://github.com/Joeyechang/MySpec.git'

source '我們自己的spec庫.git'

use_frameworks!

target 'AnProject' do

pod 'TestPrivateCodeRepo'

end

最後,當所用TestSpecs有更新時執行 pod repo update TestSpecs,同步遠端spec庫到本地

參考:

  1. http://www.jianshu.com/p/5b950e89e1ac
  2. http://www.jianshu.com/p/584e863f0687
  3. http://www.jianshu.com/p/98407f0c175b

相關文章