$ pod spec create MyViewExtension<這個名稱通常和建立的項目名稱同樣就能夠>
$ pod lib create MyViewExtension <這個名稱通常和建立的項目名稱同樣就能夠>
使用這個命令會詢問以下問題,根據項目狀況選擇便可
Pod::Spec.new do |s|
# 項目的名稱
s.name = "MyViewExtension"
# 項目的版本號,經過項目git的tag標籤進行對應,這裏的標籤表明的版本
s.version = "0.0.1"
# 項目簡單的描述信息
s.summary = "Just Testing."
# 項目的詳細描述信息,注意,這裏的文字的長度,必定要比上面的s.summary長,否則會認爲格式不合格
s.description = <<-DESC
this project provide all kind of KeychainDeviceID for iOS developer
DESC
# 項目的網頁主頁信息,這裏能夠直接寫本身的遠程倉庫的主頁的地址
s.homepage = "https://github.com/RunOfTheSnail/MyViewExtension"
# 開源協議
s.license = "MIT"
# 做者信息
s.author = { "zhangyan" => "17***24@163.com" }
# 這個比較重要,指的就是git的對應的遠程倉庫的地址以及版本號,版本號直接獲取的是上面的s.version
# 項目地址,這裏不支持ssh的地址,驗證不經過,只支持HTTP和HTTPS,最好使用HTTPS
# Supported Keys:
# :git => :tag, :branch, :commit, :submodules
# :svn => :folder, :tag, :revision
# :hg => :revision
# :http => :flatten, :type, :sha256, :sha1
s.source = { :git => "https://github.com/RunOfTheSnail/MyViewExtension.git", :tag => s.version }
# 支持的平臺及版本
s.platform = :ios, "11.0"
# 支持的ios最低版本
s.ios.deployment_target = "7.0"
# 若是是 Swift 的話指定 Swift 編譯版本
# s.swift_version = "4.0"
# 必備項,代碼源文件地址,若是有多個目錄下則用逗號分開,不然"public_header_files"等不可用
s.source_files = "GSLXYKeychainDeviceID/KeychainDeviceID/**/*.{h,m}"
# 公開頭文件地址
# s.public_header_files = "Pod/Classes/**/*.h"
# 所需的系統framework,多個用逗號隔開,不須要後綴名
# s.framework = "SomeFramework"
s.frameworks = "UIKit", "AnotherFramework"
# 須要弱連接的框架
# s.weak_framework = "Twitter"
# s.weak_frameworks = "Twitter", "SafariServices"
#項目依賴的庫文件(這個是系統的庫文件),不須要後綴名,好比sqlite,libz等.以lib開頭的須要省略掉lib這三個字母.例如:libz須要簡寫爲z不然報錯
# s.library = "iconv"
# s.libraries = "iconv", "xml2"
# 第三方或本身建立的 .Framework的名稱
# s.vendored_frameworks = "YostarLib.framework"
# 第三方或本身建立的 .a靜態庫的名稱
# s.vendored_libraries = "libYostarStaticLib.a"
# 添加資源文件
# s.resource = "XXX/XXXX/**/*.bundle"
# s.resources = "XXX/XXXX/**/*.bundle"
# CocoaPods會把這個庫配置成static framework,同時支持Swift和Objective-C
# s.static_framework = true
# 依賴關係,該項目所依賴的其餘,當在加載的時候也會一塊把相關的依賴的庫加載下來,若是有多個須要填寫多個
# s.dependency "JSONKit", "~> 1.4"
# 是否使用ARC,若是指定具體文件,則具體的文件使用ARC
s.requires_arc = true
# 指定項目配置,如HEADER_SEARCH_PATHS、OTHER_LDFLAGS等
# s.xcconfig = {"OTHER_LDFLAGS" => "-ObjC"}
end
複製代碼
$ pod lib lint
完整lint格式
$ pod lib lint --allow-warnings --use-libraries --verbose --no-clean --sources='http://10.11.180.29/mobileDevelopers/YZT-Loan-Pod-Spec.git'
--verbose:打印錯誤
--allow-warnings:容許警告,默認有警告的podspec會驗證失敗
--fail-fast:遇到錯誤立刻中止,默認會完成全過程再中止
--use-libraries:若是本身私有庫包含library,引用了.a、.framework,在驗證和提交時須要加
--no-clean:檢查問題
--sources:若是依賴了其餘不包含在官方specs裏的pod,則用它來指明源,好比依賴了某個私有庫。多個值以逗號分隔
複製代碼
// 這裏能夠用https或ssh地址方式克隆
$ pod repo add WBSpecs https://github.com/G***00/TestPodspec.git
複製代碼
注意:代碼倉庫和Spec Repo是須要分開存儲的 克隆成功以後,咱們能夠查看一下:$ open ~/.cocoapods/repos
本地cocoapods目錄以下: html
$ pod repo push WBSpecs WBAvoidCrash.podspec 參數解析:repo spec倉庫名稱 .podspec名稱
$ pod spec lint WBAvoidCrash.podspec
$ pod search WBAvoidCrash
若是搜索不到,在終端執行以下命令$ rm ~/Library/Caches/CocoaPods/search_index.json
或者更新本地倉庫$ pod repo update
而後從新search#CocoaPods官方spec倉庫
source 'https://github.com/CocoaPods/Specs.git'
#本身私有spec倉庫
source 'https://github.com/wenmobo/WBSpecs.git'
platform :ios, '8.0'
target 'TestDemo' do
#防Crash庫
pod 'WBAvoidCrash'
end
複製代碼
編輯好podfile文件以後,終端執行:ios
$ pod install 安裝時使用,更新庫使用update命令
或
$ pod update 更新時使用
複製代碼
$ pod repo remove [name]
其實直接找到之後,手動刪除就行了,而後在將Git的變更push到遠端倉庫便可手動刪除(~/Library/Caches/CocoaPods/Pods/Release
目錄)git
打開終端,輸入$ pod cache list
,會列出全部本地已經緩存的第三方庫,在終端中輸入$ pod cache clean AAA
會刪除AAA緩存庫,使用$ pod cache clean --all
清除全部緩存github
附:個人博客地址sql