遠程索引庫 將遠程索引庫添關聯到本地 pod repo 查看本地已關聯倉庫源 pod repo add 本地索引庫名稱 遠程索引庫倉庫地址 pod repo update 索引庫名稱 pod repo remove 本地索引庫名稱 執行命令 添加遠程索引庫`KTPodSpecs`克隆到本地 遠程庫 ...
遠程索引庫
將遠程索引庫添關聯到本地
pod repo 查看本地已關聯倉庫源 pod repo add 本地索引庫名稱 遠程索引庫倉庫地址 pod repo update 索引庫名稱 pod repo remove 本地索引庫名稱
執行命令 添加遠程索引庫`KTPodSpecs`克隆到本地
遠程庫
新建框架工程KTUIKit
利用模板自動生成私有庫工程
pod lib create 框架名稱
pod lib create KTUIKit
生成的工程依賴關係
KTUIKit的示例工程的podfile配置spec的路徑是相對於本地podfile的路徑
編寫PodSpec
依賴第三方庫
framewirks:依賴系統的動態庫 比如 UIKit
vendored_framework:依賴非系統的動態庫 比如TencentOpenAPI.framework
libraries:依賴系統靜態庫 比如libstdc++.a
vendored_libraries:依賴非系統的靜態庫 比如新浪微博的libWeiboSDK.a
dependency:依賴pod庫
上傳框架到遠程倉庫
新建遠程倉庫
進入本地KTUIKit目錄執行Git命令 與遠程KTUIKit建立關聯
git remote add origin https://github.com/coderketao/KTUIKit.git
git branch --set-upstream-to=origin/master master 本地分支遠程分支建立track
建立關聯後,本地KTUIKit push到遠程倉庫 註意:push過程記得一定將Pods和Podfile.lock文件忽略,否則導致pod install和pod repo push很慢
遠程master分支添加tag 執行命令
git tag '0.1.0' 添加 git push --tags git tag -d 0.1.0 刪除 git push origin :0.1.0
私有庫發佈
將podspec文件到遠程索引庫 執行命令 驗證`KTUIKit.podspec`是否合法
pod lib lint KTUIKit.podspec --allow-warnings --use-libraries 驗證本地
執行命令 發佈podspec到遠程索引倉庫
pod repo push KTPodSpecs KTUIKit.podspec --allow-warnings --use-libraries
在構建組件時,如果該組件引用了其它庫
s.dependendy 'SDWebImage' s.dependendy 'AFNetWorking'
在驗證、推送遠程索引庫加上pod的source
pod lib lint KTUIKit.podspec --sources='http://47.93.191.194:9002/hongketao/QXComponentSpecs.git,https://github.com/CocoaPods/Specs.git' --allow-warnings --use-libraries pod repo push KTPodSpecs KTUIKit.podspec --sources='http://47.93.191.194:9002/hongketao/QXComponentSpecs.git,https://github.com/CocoaPods/Specs.git' --allow-warnings --use-libraries
私有庫使用
新建項目,應用私有庫
podspec的寫法
~> 1.2.0 要求版本 [1.2.0, 2.0.0)
<= 1.2.0 版本小於等於1.2.0 超過後1.2.0後不再更新
指定三方庫本地路徑的寫法(用於提交前進行測試)
pod 'AFNetworking', :path => '~/Desktop/AFNetworking'
指定git的寫法
pod 'AFNetworking', :git => 'https://github.com/AFNetworking/AFNetworking.git'
pod 'AFNetworking', :git => 'https://github.com/AFNetworking/AFNetworking.git', :branch => 'dev'
pod 'AFNetworking', :git => 'https://github.com/AFNetworking/AFNetworking.git', :tag => '3.1.1'
pod 'AFNetworking', :git => 'https://github.com/AFNetworking/AFNetworking.git', :commit => '0f506b1c45'
指定podspec的寫法
pod 'AFNetworking', :podspec => '~/Desktop/AFNetworking/AFNetworking.podspec'
指定subspecs的寫法(這也是subspec的另一個用法
pod 'MyThirdparty', '~> 0.0.1', :subspecs => ['Sparta', 'GotyeSDK', 'TalkingData', 'Tingyun', 'BaiduPanorama']