上傳iOS Framework到CocoaPods

<article class="_2rhmJa">

1. 在Github新建倉(cāng)庫(kù)

創(chuàng)建公共的倉(cāng)庫(kù),并且添加License,CocoaPods需要這個(gè)License。

image

2. 在倉(cāng)庫(kù)添加文件

將倉(cāng)庫(kù)clone到本地之后,使用以下命令創(chuàng)建.podspec文件

pod spec create yourFramework

.podspec文件去掉注釋之后的內(nèi)容如下

  • s.source指定了倉(cāng)庫(kù)地址,其他人通過(guò)CocoaPods使用我們的framework,就是從該倉(cāng)庫(kù)進(jìn)行下載
  • s.vendored_frameworks指定了我們要提供給用戶的Framework。它和s.source組成了Framework的絕對(duì)路徑
Pod::Spec.new do |s|
  s.name         = "CXLFirstFramework"
  s.version      = "1.0.0"
  s.summary      = "my test to upload framework to CocoaPods"
  s.description  = <<-DESC
                       this is my first framework, now I am learning to upload it to cocoapod
                   DESC
  s.homepage     = "https://github.com/xiaoLong1010/CocoaPodDemo"
  s.license      = "MIT"
  # s.license      = { :type => "MIT", :file => "FILE_LICENSE" }
  s.author             = "xiaolong1010"
  # s.platform     = :iOS
  s.platform     = :ios, "8.0"

  s.source       = { :git => "https://github.com/xiaoLong1010/CocoaPodDemo.git", :tag => "#{s.version}" }

  # the framework upload to Cocoa Pods
  s.vendored_frameworks = 'Zhangfghur45.framework'
  s.frameworks = 'Foundation'

將Framework也添加到倉(cāng)庫(kù),倉(cāng)庫(kù)就包含以下內(nèi)容:

image

將.podspec和Framework推送到Github。

git add .
git commit -m “commit message”
git push -u origin master

為本次提交生成tag,該tag值對(duì)應(yīng).podspec中的s.source。

git tag '1.0.0'
git push origin --tags

3. 驗(yàn)證.podspec文件

使用以下命令驗(yàn)證.podspec

pod spec lint your.podspec

如果成功的話,會(huì)出現(xiàn)以下提示

CXLFirstFramework.podspec passed validation.

可能碰到的問(wèn)題

image

Abort trap: 6問(wèn)題,我是通過(guò)升級(jí)CocoaPods的版本修復(fù)的。首先更新gem的源。https://ruby.taobao.org/,https://gems.ruby-china.org/這兩個(gè)源都不能用了,要使用https://gems.ruby-china.com。

 gem sources --add https://gems.ruby-china.com/ --remove https://rubygems.org/

安裝最新版的CocoaPods

sudo gem install cocoapods

4.注冊(cè)CocoaPods的Trunk服務(wù)

CocoaPods提供Trunk服務(wù),用于開發(fā)者管理Pods。首先注冊(cè)郵箱和用戶名。

pod trunk register yourEmail 'your name' --verbose

郵箱會(huì)收到一個(gè)驗(yàn)證鏈接,點(diǎn)擊鏈接進(jìn)行驗(yàn)證。使用下面的命令查看是否注冊(cè)成功。

pod trunk me

image

.podspec文件提交到CocoaPods

pod trunk push your.podspec

出現(xiàn)如下結(jié)果,就表明提交成功。

image

有如下命令,管理Pod

#  查看注冊(cè)信息
pod trunk me
# 添加其他維護(hù)者
pod trunk add-owner XXXSDK 123456@qq.com
# 刪除已發(fā)的版本
pod trunk delete XXXSDK 版本號(hào)
# 刪除某個(gè)pod
pod trunk deprecate XXXSDK
# 刪除其他維護(hù)者
pod trunk remove-owner XXXSDK 56789@qq.com

5 搜索Pod

更新本地Spec庫(kù)

 pod repo update

查找Pod

pod search yourPod

如果出現(xiàn)以下錯(cuò)誤,可以先刪除search_index.json,再進(jìn)行搜索.

Unable to find a pod with name, author, summary, or description matching

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

參考文章

https://blog.csdn.net/jeikerxiao/article/details/52881773
https://blog.csdn.net/u010828718/article/details/81870432
http://www.itdecent.cn/p/30246a000bc6
CocoaPods升級(jí)
https://blog.csdn.net/jeikerxiao/article/details/78949459
https://juejin.im/post/5ad0c92a518825364001db63
https://gems.ruby-china.com

</article>

0人點(diǎn)贊

iOS

作者:川少葉
鏈接:http://www.itdecent.cn/p/954646c47068
來(lái)源:簡(jiǎn)書
著作權(quán)歸作者所有。商業(yè)轉(zhuǎn)載請(qǐng)聯(lián)系作者獲得授權(quán),非商業(yè)轉(zhuǎn)載請(qǐng)注明出處。

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

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

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