CocoaPods創(chuàng)建自己的公開庫

1、注冊CocoaPods:

a.若CocoaPods版本低,需要升級:

sudo gen install cocoapods
pod setup

b.查看自己是否注冊過:pod trunk me
c.如沒有則注冊:(GitHub郵箱、GitHub用戶名)

pod trunk register daixingchuang@163.com " Dxc123" --verbose

2、有2種方式創(chuàng)建工程項目 (我一般使用第一種)

以QYVersionUpdating為例

a方式: 在github上創(chuàng)建好空項目(包含license ,MIT,ReadMe)創(chuàng)建好直接終端執(zhí)行命令行clone到本地:

git clone https://github.com/Dxc123/QYVersionUpdating.git

然后cd到項目執(zhí)行下面命令會在項目中生成 QYVersionUpdating.podspec文件:

pod spec create QYVersionUpdating

b方式:用pod創(chuàng)建
a.

pod lib create QYVersionUpdating

之后會問你四個問題:
.是否需要一個例子工程;
.選擇一個測試框架;
.是否基于View測試;
.類的前綴;

我這里選擇的是:
.Yes;
.Specta/Expecta;
.Yes
.QY
會自動打開新創(chuàng)建的 Xcode 項目

b.向Pod文件夾中添加庫文件和資源,并配置podspec文件
這里,把Classes文件夾里面的ReplaceMe.m文件刪掉,我把一個QYVersionUpdating共有組件放入Pod/Classes中;(注意:要對應(yīng).podspec文件的s.source_files路徑)
然后cd 進入Example文件夾下,執(zhí)行pod install命令;
然后進入項目添加github上的地址

git remote add origin 項目的URL (關(guān)聯(lián)的遠(yuǎn)程庫)
git remote -v (查看遠(yuǎn)程庫信息)
git push -u origin master (推送到GitHub)

強制push:git push -u origin master -f

3、編輯.podspec文件

用Sublime Text 軟件輯或命令行:

open -a xcode QYVersionUpdating.podspec ,
使用Xcode編輯

.podspec文件模板:

Pod:Spec.new do |s|
s.name = "QYVersionUpdating" #名稱
s.version = "0.1.0" #版本號
s.ios.deployment_target = '8.0'#支持的pod最低版本
s.summary = "QYVersionUpdating簡介:好用的APP更新提示庫"#簡介
s.homepage = "https://github.com/Dxc123/QYVersionUpdating"#項目主頁地址
s.license = "MIT"#許可證
s.author = { "Dxc123" => "daixingchuang@163.com" }#作者
s.source = { :git => 'https://github.com/Dxc123/QYVersionUpdating.git', :tag => s.version}#項目的地址
s.requires_arc = true #是否支持ARC
s.source_files = "QYVersionUpdating//.{h,m}"
s.public_header_files = 'QYVersionUpdating/
/.{h}'
end

注意:常見的寫法:

1、dependency:寫法
s.dependency = 'AFNetworking' , 'SDWebImage'
2、source_files: 寫法

'runtime/'
'runtime/runtime/
.{h,m}'
'runtime/*/.h'

'.{h,m}' 表示匹配所有以.h和.m結(jié)尾的文件
'
'表示匹配所有文件
'**' 表示匹配所有子目錄

3、source: 常見寫法

s.source = { :git => "https://github.com/zhangyqyx/ZYRunTimeCoT.git", :commit => "68defea" }

s.source = { :git => "https://github.com/zhangyqyx/ZYRunTimeCoT.git", :commit => "68defea", :tag => 1.0.0 }

s.source = { :git => "https://github.com/zhangyqyx/ZYRunTimeCoT.git", :tag => s.version }

說明: commit => "68defea" 表示將這個Pod版本與Git倉庫中某個commit綁定

  • tag => 1.0.0 表示將這個Pod版本與Git倉庫中某個版本的comit綁定
  • tag => s.version 表示將這個Pod版本與Git倉庫中相同版本的comit綁定

4、給QYVersionUpdating打tag**

  • 因為cocoapods是依賴tag版本的,所以必須打tag,以后再次更新只需要把你的項目打一個tag
  • 然后修改.podspec文件中的版本接著提交到cocoapods官方就可以了.
  • 為git打tag, 第一次需要在前面加一個v ;如果出現(xiàn)錯誤,試一下不加v的情況.

git tag "v0.1.0"

  • //將tag推送到遠(yuǎn)程倉庫

git push --tags

其他:

  • a、查看所有tags

git tag

就會羅列出我們所有的tags

  • b、刪除本地tags
  • git tag -d + 分支名稱就會刪除本地的分支
  • c、刪除遠(yuǎn)程分支
  • git push origin :refs/tags/分支名稱 就刪除了遠(yuǎn)程分支

例如: 先刪除本地再刪除遠(yuǎn)程標(biāo)簽, 刪除后需要重新打標(biāo)簽
git tag -d 0.0.1
刪除遠(yuǎn)程標(biāo)簽
git push origin :0.0.1

5、上傳到GitHub

將包含配置好的 .podspec, LICENSE 的項目提交 Git,命令:

git add -A
git commit -m "xxxx"
git push origin master

// 在push之前, 查看spec是否配置有問題
// 驗證本地spec文件是否有誤

pod lib lint

// 驗證遠(yuǎn)程spec文件是否有誤

pod spec lint

如果出現(xiàn)警告性的問題,我們可以直接忽略:

pod lib lint --allow-warnings 或者 pod spec lint --allow-warnings

出現(xiàn)??種情況就說明我們通過了驗證:

QYCategory passed validation.

6、發(fā)布QYVersionUpdating到cocoapod

發(fā)布時會驗證 Pod 的有效性,如果你在手動驗證 Pod 時使用了 --use-libraries 或 --allow-warnings 等修飾符,那么發(fā)布的時候也應(yīng)該使用相同的字段修飾,否則出現(xiàn)相同的報錯。

// --use-libraries 或者--allow-warnings

pod trunk push QYVersionUpdating.podspec或者
pod trunk push QYVersionUpdating.podspec --allow-warnings

出現(xiàn)如下successfully published,就表示發(fā)布成功了

?? QYVersionUpdating (0.1.0) successfully published
?? July 16th, 03:38
?? https://cocoapods.org/pods/QYVersionUpdating
?? Tell your friends!

驗證發(fā)布成功:這時候執(zhí)行命令會出現(xiàn)以下結(jié)果:

pod search QYVersionUpdating
如果搜不到試試下面,或者在cocoapods官網(wǎng)直接查詢

刪除倉庫的索引庫

rm -rf ~/Library/Caches/CocoaPods/search_index.json

刪除spec倉庫

rm -rf ~/.cocoapods/repos/master

更新pod spec庫

pod setup 或者pod repo update --verbose

更新pod spec庫老是失敗,執(zhí)行:

git clone https://git.coding.net/CocoaPods/Specs.git ~/.cocoapods/repos/master

7、更新QYVersionUpdating版本

版本更新跟之前的步驟差不多,這就簡單說一下步驟:

  1. 添加更新的內(nèi)容,修改.podspec文件中的版本號;

    s.version = "0.0.2" //修改0.0.2版本,不能是之前的版本,否則提交不成功

2.上傳代碼到遠(yuǎn)程倉庫;
查看哪些文件改動:

git status

git提交到本地:

git add -A

提交改動的描述

git commit -m “更新XXX”;

提交到遠(yuǎn)程倉庫

git push origin master。

3.打tag并上傳;

git tag '0.0.2'

git push --tags

4.驗證podspec文件并提交到pod發(fā)布。

spec repo //查詢repo

pod spec lint或者pod spec lint --allow-warnings //驗證.podspec文件

pod trunk push PublicLibQiuyh.podspec --allow-warnings //提交pod發(fā)布

pod search PublicLibQiuyh //查詢庫

遇到問題參考:
使用私有Cocoapods倉庫遇到的問題

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容