手把手教你創(chuàng)建屬于自己的CocoaPods公開庫/私有庫

一、選擇平臺創(chuàng)建私有庫or公開庫(Repo)

? ? ? ? 1.首先我們需要明白自己的這個repo(Repository :倉庫) 性質(zhì),我們平時在項目中運用的大多數(shù)第三方庫就是公開的,大家都能下載使用;私有庫一般運用于公司內(nèi)部項目開發(fā)人員,要使用必須加入到團隊,并且擁有權(quán)限才可以。·

? ? ? ? ?2.選擇平臺:?github?:公開的免費,私有的repo需要收費?$ 7 /月,除了GitHub還有其他平臺也可以建立托管項目倉庫,例如:Gitlab,CodingBitbucket,oschina任意一種。本文示例中我們選擇oschina平臺(因為創(chuàng)建私有庫免費??),具體大家可以根據(jù)需求自行選擇。

二、創(chuàng)建倉庫

三、把剛才創(chuàng)建的遠程倉庫克隆到本地,以便增加自己所需要的內(nèi)容

1.把本示例將本地庫放在桌面

cd /Users/icochu/Desktop

2.找到遠程倉庫地址復制下來


3.將項目克隆到本地,在終端執(zhí)行

git clone https://gitee.com/xuxihai/XHTestCocoaPod.git

成功后本地會出現(xiàn)一個“XHTestCocoaPod”文件夾在桌面上,如果克隆失敗,需要檢查是否能執(zhí)行g(shù)it命令或者用戶名、密碼什么的,這屬于git操作范疇,錯誤原因很多(根據(jù)報錯error信息自行百度處理)

四、檢測是否注冊過Trunk

執(zhí)行: pod trunk me

這個表示已經(jīng)注冊過

如果沒有,下面是注冊trunk賬號方式:

通過終端指令來操作:?pod trunk register a ‘b’ --verbose

a:用戶的郵箱? ? b:用戶名

操作成功的話會出現(xiàn)如下截圖

注冊成功

注冊成功后需要去注冊的郵箱里面激活,找到郵箱里面的地址,復制地址打開激活,或提示激活成功,激活后再次執(zhí)行pod trunk me 檢查是否已成功打印自己的郵箱跟用戶名

五、回到本地桌面,在XHTestCocoaPod文件夾下面添加文件

1.必須要添加的文件:LICENSE 、.podspec。

?創(chuàng)建.podspec文件:cd 到你的項目下執(zhí)行 pod?spec?create?XHTestCocoaPod

? 或者在github 直接生成

如果創(chuàng)建項目時忘記創(chuàng)建這個文件怎么辦?別著急,有捷徑??。隨便在GitHub上面下載一個正規(guī)的第三方庫,解壓找到里面的這兩個文件,拷貝然后放進自己的本地項目文件中。把文件名改成自己項目名XHTestCocoaPod.podspec,LICENSE可以先不用動。

2.修改配置文件

a.LICENSE(許可證/授權(quán))文件,此文件必須要有,由于是拷貝過來的所以需要修改里面的內(nèi)容,變成屬于自己項目的文件,這里簡單一點就直接用文本編輯器打開文件(或者其他能打開應(yīng)用),

需要把前面的版權(quán)改一下就行了,后面的都一樣Copyright (c) 2018 - 2019 XHTestCocoaPod (https://gitee.com/xuxihai/XHTestCocoaPod)

從Permission is hereby grant..開始的地方不用動。保存,退出編輯器

b.用文本編輯器打開XHTestCocoaPod.podspec編輯修改內(nèi)容

Pod::Spec.new do |spec|

? spec.name? ? ? ? = "XHTestCocoaPod"? #項目名稱

? spec.version? ? ? = "0.0.1" # 版本號與你倉庫的標簽號對應(yīng)

? spec.summary? ? ? = "一個簡單的測試項目." #項目簡介

? spec.description? = <<-DESC

私有Pods測試

? ? ? ? ? ? ? ? ? DESC

? spec.dependency "AFNetworking" #依賴的三方庫

? spec.homepage? ? = "https://gitee.com/xuxihai/XHTestCocoaPod" #個人主頁

? spec.dependency "AFNetworking" #依賴的三方庫

? spec.license? ? ? = "MIT" #開源協(xié)議

? spec.author? ? ? = { "Sniper-xu" => "479865711@qq.com" } #作者

? spec.requires_arc = true? # 是否啟用ARC

? spec.source = { :git => "https://gitee.com/xuxihai/XHTestCocoaPod.git", :tag => spec.version }? #項目遠程倉庫地址

? spec.source_files? = "XHNetwork/**/*.{h,m}"? #路徑以.podspec文件所在的層級開始算,'**' 表示匹配所有子目錄,'*.{h,m}' 表示匹配所有以.h和.m結(jié)尾的文件,'*'表示匹配所有文件

? # spec.screenshots? = "www.example.com/screenshots_1.gif", "www.example.com/screenshots_2.gif"

? # spec.public_header_files? = "XHNetwork.h" #頭文件(.h文件)

? # spec.platform? ? = :ios, "5.0" #支持的平臺及版本

? # spec.ios.deployment_target = "5.0" #最低支持iOS版本

? # spec.public_header_files = "Classes/**/*.h"

? # spec.resources = "Resources/*.png" 資源文件(配置的文件都會被放到mainBundle中)

? # spec.frameworks = "SomeFramework", "AnotherFramework" #所需的framework,多個用逗號隔開

? # spec.libraries = "iconv", "xml2" #依賴的系統(tǒng)庫

? # spec.xcconfig = { "HEADER_SEARCH_PATHS" => "$(SDKROOT)/usr/include/libxml2" }

end

把相應(yīng)的配置修改成自己項目所需

六、本地開始添加自己的項目文件,并上傳到Git

1.完成本地文件添加后提交修改

2.在終端將剛才增加文件提交到緩沖區(qū):??

git add LICENSE

git add XHNetwork/

git add XHTestCocoaPod.podspec

提交:?git commit -m '增加文件'

3.將本地同步修改到遠程倉庫

git push origin master? ? ?//由于我們這里沒有建立分支,所以直接push到默認到主干master即可,用git branch命令查看當前分支

七、標記tag

?git tag 'v0.0.1'? ?//用于標記版本

git push --tags? //將tag推送到遠程倉庫

八、驗證.podspec文件

pod?spec?lint?XHTestCocoaPod.podspec?--verbose

這里出現(xiàn)了錯誤

驗證出錯

這里錯誤提示是關(guān)于AFNetworking的一些錯誤,導致錯誤的原因是我們在項目里面依賴了AFNetworking這個第三方庫,但是項目里面找不到相關(guān)的文件,怎么處理??

? ? 我們再新建一個新的Podfile文件,不會的直接拷貝其他工程的這個文件即可

用文本編輯器打開修改里面的內(nèi)容

保存關(guān)閉,將修改提交,同步到遠端

icochudeMacBook-Pro:XHTestCocoaPod icochu$ git add Podfile

icochudeMacBook-Pro:XHTestCocoaPod icochu$ git commit -m '提交新文件'

icochudeMacBook-Pro:XHTestCocoaPod icochu$ git push origin master

再次驗證.podspec文件

pod?spec?lint?XHTestCocoaPod.podspec?--verbose

仍然報錯,查看錯誤信息,發(fā)現(xiàn)是跟target相關(guān)的報錯,返回本地打XHTestCocoaPod.podspec檢查,發(fā)現(xiàn)少設(shè)置了一項參數(shù)spec.ios.deployment_target = '9.0' //開發(fā)最低版本,由于第三方庫設(shè)置了最低版本而本地沒有設(shè)置,導致報錯。添加參數(shù)設(shè)置重新保存提交后再驗證

驗證結(jié)果

驗證后提示沒有error只有warning,警告沒有關(guān)系我們可以直接忽略

pod?lib?lint?--allow-warnings

驗證成功

九、發(fā)布

pod trunk push XHTestCocoaPod.podspec

再次出現(xiàn)警告,沒有發(fā)布成功,原因在于如果你在手動驗證 Pod 時使用了 --use-libraries 或 --allow-warnings 等修飾符,那么發(fā)布的時候也應(yīng)該使用相同的字段修飾,否則出現(xiàn)上述問題。

去除警告:pod trunk push --allow-warnings? XHTestCocoaPod.podspec

如果出現(xiàn)上面問題表示需要驗證身份,重新注冊下

pod trunk register '用戶郵箱' '用戶名'

然后郵箱會收到一個郵件,去打開鏈接,會提示激活成功

然后再pod trunk push --allow-warnings? XHTestCocoaPod.podspec

出現(xiàn)下面情況恭喜你,你的私有庫發(fā)布成功

發(fā)布成功

十、驗證發(fā)布

pod search XHTestCocoaPod

無法搜索發(fā)到,出現(xiàn)上述錯誤,刪除文件路徑,重新生成

rm? ~/Library/Caches/CocoaPods/search_index.json

pod?setup

再次運行pod search XHTestCocoaPod

找到啦


‘o

最后編輯于
?著作權(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ù)。

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