cocoapods私有庫建立

前言:距離上一篇cocoapods公有庫建立已經有了5個多月了,當初說好下一篇講私有庫建立也是拖到了如今,實在是懶癌又犯了。最近由於項目到了必定的階段,須要部分重構就想到了,補上一篇未完成的文章,誰出去的牛仍是要還的。。。html

步驟:ios

一:建立一個私有的Spec repo
1.在github,gitlab,oschina上建立一個repo用來管理 私有庫的sepc文件(這裏我選擇了oschina平臺,項目文件夾取名:FSSpces)
    

 

2.添加本身管理.podspec文件的倉庫
       pod repo add FSSpec https:gitee.com/xxxx/FSSpces.git
 ( FSSpces是你建立的項目名, https:gitee.com/xxxx/FSSpces.git 是你的項目地址)
3.檢查./cocoapods/repos 文件夾下是否有REPO_NAME文件夾
   

  master是pod默認的一個倉庫,用來管理公開的開源庫。git

  FSSpecs就是咱們本身剛剛建立的一個倉庫克隆到本地了,這個倉庫的做用就是管理咱們須要的 .podspec文件了,後面咱們會講到。github

 

二:製做CocoaPod依賴庫
1.在oschina上建立本身的倉庫(這裏我命名爲test)
  與第一步種的第1小步同樣, 須要注意打了標記的地方
2.克隆到本地
3.在本地倉庫中添加建立pods依賴庫須要的類文件在本地倉庫中建立.podspec文件(若是已經有了能夠直接複製過來
  

 

  pod spec create test 
  這裏須要注意的是,須要將全部的文件都放在Person文件夾下或者Person文件夾的子文件夾下。 這個文件夾包含了咱們整個私有庫須要的文件。     
4. 驗證.podspec文件
  pod lib lint 
  此時你會有很是多的警告和錯誤, 根據提示修改.podspec文件直到沒有錯誤。
   相關參數有:
  
s.name             = "PodTestLibrary"    #名稱
  s.version          = "0.1.0"             #版本號
  s.summary          = "Just Testing."     #簡短介紹,下面是詳細介紹
  s.description      = <<-DESC
                       Testing Private Podspec.
 
                       * Markdown format.
                       * Don't worry about the indent, we strip it!
                       DESC
  s.homepage         = "https://gitee.com/MakeKeyReuse/FSBase"                           #主頁,這裏要填寫能夠訪問到的地址,否則驗證不經過
  # s.screenshots     = "", ""           #截圖
  s.license          = 'MIT'              #開源協議
  s.author           = { "" => "" }                   #做者信息
  s.source           = { :git => "https://gitee.com/MakeKeyReuse/FSBase", :tag =>s.version } #項目地址,這裏不支持ssh的地址,驗證不經過,只支持HTTP和HTTPS,最好使用HTTPS 
# s.social_media_url = 'https://twitter.com/<twitter_username>' 
#多媒體介紹地址 s.platform
= :ios, '7.0' #支持的平臺及版本
s.requires_arc
= true #是否使用ARC,若是指定具體文件,則具體的問題使用ARC
s.source_files
= 'Pod/Classes/**/*' #代碼源文件地址,**/*表示Classes目錄及其子目錄下全部文件,若是有多個目錄下則用逗號分開,若是須要在項目中分組顯示,這裏也要作相應的設置
s.resource_bundles = { 'PodTestLibrary' => ['Pod/Assets/*.png'] } #資源文件地址
s.public_header_files = 'Pod/Classes/*
*/*.h' #公開頭文件地址
s.frameworks = 'UIKit' #所需的framework,多個用逗號隔開
s.dependency
'AFNetworking', '~> 2.3' #依賴關係,該項目所依賴的其餘庫,若是有多個須要填寫多個s.dependency

 

5. 後提交到遠程倉庫
  git add -A  
  git commit -m 「添加pod所需文件」
  git push origin master
  檢查遠程倉庫的內容
三:添加.podspec文件到本身的repo
  1.pod repo push FSSpecs  test .podspec 
  2.檢查./cocoapods/repos 文件夾的變化
  3.檢查本身repo遠程倉庫的內容
   
 
  
  此時會有錯誤信息:test沒有tag,這裏本身去打一下tag而後在提交,肯定test項目是乾淨的在試。

  

四:測試
1.新建一個項目,初始化pod
2.在Podfile最上面添加下面兩行
  sour ce  'https://github.com/CocoaPods/Specs.git'        #官方倉庫地址

  source 'https://gitee.com/xxxxxx/FSSpecs.git'        #私有倉庫地址ssh

  這是由於使用pod默認是使用官方來源的,想要更改爲本身的須要添加私有倉庫的地址,可是隻添加使用私有倉庫的地址,就會讓master管理的用不了,因此兩個都要添加上。gitlab

3.導入pod ‘test’post

4.pod init測試

 

 五:遇到的相關坑ui

1.The repo `FSSpecs` at `../.cocoapods/repos/FXSpecs` is not clean:cd到repo的相關項目中url

  git status 檢查一下是否有未提交的東西,若是有就commit後push一下,若是沒有就git clean -f 後push一下。

2.當有依賴的時候常常會報錯,配合試用一下命令

  --allow-warnings  :忽略警告

  --use-libraries :驗證lib

  --verbose:查看詳情

  --no-clean:清理

 

完!!!

相關文章
相關標籤/搜索