$ pod spec 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,則用它來指明源,好比依賴了某個私有庫。多個值以逗號分隔
複製代碼
$ pod trunk register zy_iOS2163.com 'zy' --description='macbook air' --verbose
你註冊的時候須要替換郵箱和名字,加上 --verbose 能夠看到詳細信息,而後你會收到一份郵件,須要點擊驗證
$ pod trunk me
查看註冊信息是否註冊成功
$ pod trunk add-owner JLC kyle@163.com(即:pod trunk add-owner 庫名 郵箱)
移除某個管理員 $ pod trunk remove-owner TTLockSDK 郵箱地址(即:pod trunk remove-owner 庫名 郵箱)
$ pod trunk info TTLockSDK
查看庫當前狀態,版本,全部人等 5.4. 在提交 spec 文件前,若是發佈的是 Swift 框架,須要指定 Swift 的版本,不然會報錯,執行$ echo "4.0" > .swift-version
便可指定版本爲 4.0 5.5. 執行命令,將 .podspec push到cocopods的trunk中 $ pod trunk push MyViewExtension.podspec
$ pod search SGExtension
若是沒有搜到,可能就是本地倉庫沒有更新$ pod repo update
再次執行$ pod search SGExtension
$ rm ~/Library/Caches/CocoaPods/search_index.json
這句話是移除已經生成的搜索目錄緩存文件,移除以後,執行pod search會從新生成一份最新的緩存列表$ open ~/.cocoapods/repos
#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文件以後,終端執行:html
$ pod install 安裝時使用,更新庫使用update命令
或
$ pod update 更新時使用
複製代碼
$ pod trunk delete TTLockSDK 2.6.4(即:pod trunk delete 庫名 版本號)
$ pod trunk deprecate TTLockSDK(即:pod trunk deprecate 庫名)
確認時,回覆一個"y"(小寫字母 y)~/Library/Caches/CocoaPods/Pods/Release
目錄)$ pod cache list
,會列出全部本地已經緩存的第三方庫,在終端中輸入$ pod cache clean AAA
會刪除AAA緩存庫,使用$ pod cache clean --all
清除全部緩存附:個人博客地址ios