CocoaPods
, 而後經過pod install
命令, 就能夠集成框架到項目中了CocoaPods
還不是很瞭解的或者沒有安裝的童鞋, 可自行百度或者參考用CocoaPods作程序的依賴CocoaPods
項目的源碼在Github
上管理,因此第一步咱們須要建立一個屬於本身的倉庫SourceTree
和GitHub
客戶端, 固然也可使用終端命令上傳git
管理工具咱們這裏暫不贅述, 不懂得能夠自行百度git
命令上傳, 主要命令以下//cd到當前文件夾
// 建立本地倉庫
git init
// 添加名稱爲origin的遠程鏈接
git remote add origin '你的github項目地址'
// 將本地代碼加入本地倉庫裏
git add .
// 提交修改到本地倉庫
git commit -m '你的修改記錄'
// 推送master分支的代碼到名稱爲origin的遠程倉庫
git push origin master
複製代碼
Cocoapods
依賴庫的描述文件,每一個Cocoapods
依賴庫必須有且僅有那麼一個描述文件CocoaPods
搜索引擎知道你的代碼的做者、版本號、源代碼地址、依賴庫等信息的文件pod spec create 框架名字
// 示例:
pod spec create TitanModel
複製代碼
TitanModel.podspec
文件Sublime Text
或者Atom
打開該文件,裏面已經有很是豐富的說明文檔, 可是不少都是咱們不須要的Podspec
文件的編寫格式可參考 Podspec Syntax Referenceios
核心框架和第三方庫Pod::Spec.new do |s|
s.name = "TitanModel"
s.version = "0.0.1"
s.summary = "A short description of TitanModel."
s.description = "這是詳細的描述, 可是字數要比summary的字數多, 否則上傳的時候回有警告提示, 我這麼說你能明白了嗎?不明白的話我也沒辦法了"
s.homepage = "https://github.com/CoderTitan/TitanModel"
s.license = "MIT"
s.swift_version = "4.0"
s.author = { "CoderTitan" => "quanjunt@163.com" }
s.source = { :git => "https://github.com/CoderTitan/TitanModel.git", :tag => "#{s.version}" }
s.source_files = "Classes", "Classes/**/*.{h,m,swift}"
s.exclude_files = "Classes/Exclude"
end
複製代碼
s.name
:名稱,pod search
搜索的關鍵詞,注意這裏必定要和.podspec
的名稱同樣,不然報錯s.version
:版本號,to_s
:返回一個字符串s.summary
: 項目簡短的簡介s.description
: 這個是詳細的描述, 要注意的是字數要比summary
的長, 不然上傳的時候可能會爆出警告s.homepage
: 項目主頁地址s.license
: 許可證s.author
: 做者s.source
: 項目源碼所在地址s.platform
: 項目支持平臺s.requires_arc
: 是否支持ARC
s.source_files
: 須要包含的源文件s.public_header_files
: 須要包含的頭文件s.ios.deployment_target
: 支持的pod
最低版本s.social_media_url
: 社交網址s.resources
: 資源文件s.dependency
: 依賴庫,不能依賴未發佈的庫
source_files
寫法及含義html
"TitanModel"
"Classes/**/*.{h,m}"
複製代碼
*
表示匹配全部文件*.{h,m}
表示匹配全部以.h
和.m
結尾的文件**
表示匹配全部子目錄tag
cocoapods
是依賴tag
版本的,因此必須打tag
,之後再次更新只須要把你的項目打一個tag
,而後修改.podspec
文件中的版本接着提交到cocoapods
官方就能夠了TitanModel.podspec
文件中的版本號一致git tag "v0.0.1"
git push --tags
複製代碼
Podspec
Podspec
修改完成後, 上傳到服務器時, 咱們須要使用trunk
進行上傳trunk
, 在註冊trunk
以前,咱們須要確認當前的CocoaPods
版本是否足夠新。trunk
須要pod
在0.33
及以上版本,若是你不知足要求, 須要從新安裝pod
trunk
, 可參考官方文檔Getting setup with Trunkpod trunk register 郵箱地址 '用戶名' --description='描述'
// 示例
pod trunk register quanjunt@163.com 'CoderTitan' --description='macbook'
複製代碼
執行該命令後, 你的郵箱會受到一封郵件, 可是郵件要到垃圾郵件中才能找到, 打開郵件找到郵件中的網址並打開ios
若是打開郵件中的連接和下面的頁面同樣, 則表示註冊成功git
最後輸入以下命令github
pod trunk push TitanModel.podspec
複製代碼
時間較長,耐性等待,大概5-10分鐘, 成功後結果以下json
Updating spec repo master
命令, 該命令主要就是更新本地的Specs
文件Shift+command+G
快捷鍵, 打開前往文件夾操做, 輸入以下目錄便可查看~/.cocoapods/repos/master/Specs
複製代碼
pod search TitanModel
查看[!] Unable to find a pod with name, author, summary, or description matching `TitanModel`
複製代碼
這是由於你的框架已經上傳, 可是你的本地的搜索文件search_index.json
沒有更新, 因此搜索不到, 能夠執行下面命令刪除search_index.json
文件swift
rm ~/Library/Caches/CocoaPods/search_index.json
複製代碼
Shift+command+G
快捷鍵, 打開前往文件夾操做, 輸入以下目錄便可查看~/Library/Caches/CocoaPods/
複製代碼
搜索成功bash
最後對上述涉及到的終端命令作一個簡單的總結服務器
tag
git tag "v0.0.1"
git push --tags
複製代碼
podspec
文件pod spec create TitanModel
複製代碼
podspec
文件中的相關信息,有兩個比較重要的地方s.source
和s.source_files
, 修改完成後, 驗證是否有誤pod spec lint TitanModel.podspec
複製代碼
pod trunk
pod trunk register orta@cocoapods.org 'Orta Therox' --description='macbook air'
複製代碼
trunk
pod trunk push TitanModel.podspec
複製代碼
pod search TitanModel
複製代碼