發佈本身的pods到CocoaPods

首先更新了用trunk以後,CocoaPods 須要0.33版本以上的,用 pod --version 查看,若是版本低,須要更新pod 參考guides.cocoapods.org/making/gett…html

1.帳號註冊

$ pod trunk register 郵箱 '用戶名' --description='電腦描述'
複製代碼

2.查收郵件

點擊郵件的連接就完成了trunk註冊流程。ios

3.標記tag

cd到項目根目錄git

若是未標記tag,驗證的時候會 fatal: Remote branch 0.0.1 not found in upstream origingithub

$  git tag '0.0.1'
$  git push --tags
複製代碼

4.建立podspec文件

$ pod spec create  AdAlertView
複製代碼

這時候本地就生成一個AdAlertView.podspec文件json

5.用編輯器打開.podspec文件

刪除沒必要要的註釋(這裏只簡單介紹基本用法,因此只用到一部分必須得字段 更多字段請移步http://guides.cocoapods.org/syntax/podspec.html) 編輯的時候會報以下錯誤,根據提示修改便可 緩存

打開spec文件,修改source_files 和 public_header_files

參照:bash

s.name         = "verifyNumberCode"
s.version      = "0.0.1"
s.summary      = "A short description of verifyNumberCode."
s.description  =  "實現短信驗證碼驗證"
s.homepage     = "https://github.com/IT-iOS-xie/verifyNumberCode.git"
 s.license      = "MIT"
 s.license      = { :type => "MIT", :file => "FILE_LICENSE" }
 s.author             = { "xie" => "*********@qq.com" }
 s.social_media_url   = "http://twitter.com/xie"
 s.platform     = :ios
 s.source       = { :git => "https://github.com/IT-iOS-xie/verifyNumberCode.git", :tag => "0.0.1" }
 s.source_files  = "Classes", "verifyNumberCode/*.{h,m}"
 s.exclude_files = "Classes/Exclude"
 s.public_header_files = "verifyNumberCode/*.h"
 s.requires_arc = true
複製代碼

podSpecspec的全稱是Specification,說明書的意思。顧名思義,這是用來描述你這個私有pod的說明信息的。 podSpeccocoapods的一種文件格式,有一套本身的語法,咱們能夠到cocoapods官網進行詳細瞭解(guides.cocoapods.org/syntax/pods…)。框架

建立podSpec很簡單,只要建立一個以.podSpec爲後綴的文件便可,或者直接拷貝別人的進行修改也能夠。編輯器

它的建立命令是:$pod spec create TestFileide

podspec文件的經常使用配置字段介紹

框架名字:框架名字必定要寫對,pod search "框架名"就是搜的這個

s.name= "yoowei"
複製代碼

框架版本號

s.version= "1.0.0"
複製代碼

框架簡介

s.summary= "yoowei框架"
複製代碼

框架的主頁

s.homepage= "https://git.oschina.net/yoowei"
複製代碼

框架遵照的開源協議

s.license   = 'MIT'
複製代碼

框架的做者

s.author  = { "yoowei" => "yoowei@126.com" }
複製代碼

框架的資源路徑:路徑能夠指向遠端代碼庫,也能夠指向本地項目,例如: 1.指向遠端代碼庫: { :git => "git@git.oschina.net:yoowei/yoowei.git", :tag => "1.0.0" } 2.指向本地項目: { :path => 'yoowei', }

s.source  = { :git => "git@git.oschina.net:yoowei/yoowei.git", :tag => "1.0.0" }
複製代碼

框架被其餘工程引入時,會導入yoowei目錄下的.h和.m文件

s.source_files = 'yoowei/**/*.{h,m}'
複製代碼

框架被其餘工程引入時,會導入yoowei/resource目錄下的資源文件

s.resources = {
    'yoowei' => ['yoowei/resource/**/*.{storyboard,xcassets,xib,png']
  }
複製代碼

框架依賴的framework

s.framework = 'CoreData'
複製代碼

框架依賴的其餘第三方庫

s.dependency 'MagicalRecord', :git => 'https://github.com/iiiyu/MagicalRecord.git', :tag => 'sumiGridDiary2.1'
  s.dependency 'MBProgressHUD'
複製代碼

框架是否須要支持ARC

s.requires_arc = true
複製代碼

框架支持的最低平臺版本

s.platform = :ios, '7.0'
複製代碼

框架公開的頭文件

s.public_header_files = 'yoowei/**/*.h'
複製代碼

6.驗證spec文件

編輯完podspec文件後須要驗證一下這個文件是否可用podspec文件不容許有任何的Warning或者Error 執行命令

$ pod lib lint
複製代碼

有事會出現部分警高

忽略警高

$ pod lib lint --allow-warnings
複製代碼

7.push podspec文件

$ pod trunk push AdAlertView.podspec
複製代碼

忽略警告

$  pod trunk push AdAlertView.podspec --allow-warnings
複製代碼

若是此時報下面的錯誤,沒有設置tag

trunk成功

咱們如今就可使用pod search adalertview

若是提示 [!] Unable to find a pod with name, author, summary, or description matchingadalertview`` 1.Finder前往資源庫去刪除緩存中的 search_index.json(xie修改爲你本身的) /Users/xie/Library/Caches/CocoaPods刪除 search_index.json或執行

rm ~/Library/Caches/CocoaPods/search_index.json
複製代碼

而後再輸入pod search時會從新建立這個search_index.json

有時候發佈完可能須要等一段時間才能搜索到。

相關文章
相關標籤/搜索