CocoaPods私有庫(kù)、公開(kāi)庫(kù)

  1. 創(chuàng)建pod模板項(xiàng)目
    pod lib create NAME
    image
  2. 編輯 podspec 文件
    CocoaPods 系列之三 Podspec 語(yǔ)法說(shuō)明
    1?? 包含mrc文件解決方式
  non_arc_files = 'ALACommonComponent/Classes/Third/GTMBase/*.{h,m}'
  s.exclude_files = non_arc_files
  s.subspec 'no-arc' do |sna|
      sna.requires_arc = false
      sna.source_files = non_arc_files
  end

2?? source字段填寫(xiě)git地址,只能使用http/https
3?? 如果依賴(lài)了其他pod庫(kù),若其他pod庫(kù)使用了.a/.framework 則設(shè)置s.static_framework = true
4?? 如果項(xiàng)目直接引用了.a/.framework, 則分別設(shè)置 vendored_frameworksvendored_libraries

  1. 創(chuàng)建git遠(yuǎn)程倉(cāng)庫(kù)保存pod項(xiàng)目,并且關(guān)聯(lián)本地倉(cāng)庫(kù)
$ git status

$ git add .

$ git commit -m '編輯spec文件'

$ git remote add origin git_address (將本地庫(kù)與遠(yuǎn)程代碼倉(cāng)庫(kù)進(jìn)行關(guān)聯(lián))

$ git push origin master  (提交到遠(yuǎn)程倉(cāng)庫(kù))

這里也可以利用Sourcetree來(lái)完成,主要目的是利用遠(yuǎn)程倉(cāng)庫(kù)保存pod項(xiàng)目

以上三步創(chuàng)建了pod工程,并進(jìn)行g(shù)it托管,接下來(lái)進(jìn)行pod工程的發(fā)布

一、私有庫(kù)
  1. 在git托管平臺(tái)創(chuàng)建遠(yuǎn)程倉(cāng)庫(kù)用來(lái)保存私有索引文件
  2. 創(chuàng)建本地的私有索引庫(kù)文件夾,并與遠(yuǎn)程私有索引庫(kù)進(jìn)行關(guān)聯(lián)
    pod repo add NAME 索引文件git地址
  3. 將podspec文件提交到本地的私有索引庫(kù)
    pod lib lint --allow-warnings --verbose 驗(yàn)證
    pod repo push 索引庫(kù)文件夾名字 .podspec文件 --allow-warnings --verbose 發(fā)布
二、公開(kāi)庫(kù)
  1. 注冊(cè)trunk
    pod trunk register zilin_weng@163.com 'weng1250' --verbose
    郵箱以及用戶(hù)名請(qǐng)對(duì)號(hào)入座。用戶(hù)名我使用的是Github上的用戶(hù)名。--verbose參數(shù)是為了便于輸出注冊(cè)過(guò)程中的調(diào)試信息。執(zhí)行上面的語(yǔ)句后,你的郵箱將會(huì)受到一封帶有驗(yàn)證鏈接的郵件,如果沒(méi)有請(qǐng)去垃圾箱找找,有可能被屏蔽了。點(diǎn)擊郵件的鏈接就完成了trunk注冊(cè)流程。使用下面的命令可以向trunk服務(wù)器查詢(xún)自己的注冊(cè)信息:
  2. pod trunk me 查看注冊(cè)結(jié)果
  3. 將podspec文件提交到trunk
    pod trunk push .podspec文件

podspec中的版本號(hào)要與源碼庫(kù)git中的tag值保持一致,若更新podspec,一定要更新git的tag

三、常見(jiàn)問(wèn)題解決
  • --verbose:打印詳細(xì)的流程
  • --allow-warnings:允許warnings存在,不添加此項(xiàng)會(huì)導(dǎo)致只要有warning就會(huì)編譯不通過(guò)
  • --skip-import-validation Lint skips validating that the pod can be imported/skip linking a pod during lint
  • --use-libraries :If it needs to be a static library, lint with --use-libraries./ pod trunk push has the --use-libraries flag.參考

【原】iOS:手把手教你發(fā)布代碼到CocoaPods(Trunk方式)

最后編輯于
?著作權(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)容僅代表作者本人觀(guān)點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

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