CocoaPods 系列之一 製作公開庫

weixin_33895657發表於2018-04-25

CocoaPods 系列之一 製作公開庫
CocoaPods 系列之二 更新公開庫
CocoaPods 系列之三 Podspec 語法說明
CocoaPods 系列之四 Podspec subspec
CocoaPods 系列之五 Private Pods(譯文) 製作私有庫
CocoaPods 系列之六 Private Pods 製作私有庫從0到1
CocoaPods 系列之七 我遇到的驗證不過

1 在githup建立倉庫

  • 建立工程的時候Add a license 要勾選,我這裡選的 MIT License。這裡的選擇要和podSpec檔案裡面的對應

2 把專案拉到本地,把工程放到專案中,推送上去

3 命令列,輸入 pod trunk me ,如果正確輸出了你的name,email,則下一步;無,則註冊

  • pod trunk register xxx@qq.com 'water' --description='water mac'
  • pod trunk register 郵箱 "使用者名稱" --description="電腦描述"
  • 然後郵箱收到郵件,點選連結認證

4 建立podspec 檔案

  • pod spec create 檔名
  • 關於裡面的內容,移步我的簡書,有詳解

5 打tag,推送

git tag 展示當前的tag
git tag -a '0.0.1' -m '初始化程式碼'
git push origin --tags

6 檢測podspec語法

  • pod lib lint 和 pod spec lint
  • pod lib lint 會根據檔案檢測配置是否正確。根據提示修改。
  • 檢測的時候會根據 s.source = { :git => "https://github.com/Water95/PodTestDemo.git", :tag => s.version}去找到程式碼庫去檢測,因為根據這個地址去下載給比人用
  • 如果沒有了問題 TestLib.podspec passed validation.

7 推送 pod trunk push HSTestLib.podspec


? Congrats

? HSTestLib (0.0.2) successfully published
? April 25th, 01:45
? https://cocoapods.org/pods/HSTestLib
? Tell your friends!


看到這個就成功了

8 pod search HSTestLib 找不到

1716589-ea4a8e0fc598e6da.png
路徑.png

刪除/Users/xxx/Library/Caches/CocoaPods 下的 search_index.json然後重新search

9 會遇見各種錯誤

    • ERROR | name: The name of the spec should match the name of the file.

s.name = "HSTestLib" 要和podspec的名字一致

  • [!] Unable to accept duplicate entry for: HSTestLib (0.0.2)
    不能釋出版本一樣的

  • fatal: Remote branch 0.0.3 not found in upstream origin
    找不到tag

  • [!] Unable to interpret the specified path HSTestLib.podspec as a podspec (Pod::DSLError).
    重新發了一個tag然後過了

10 地址 https://github.com/hushifei/podTestLibrary

11 PodSpec檔案

Pod::Spec.new do |s|
s.name = "HSTestLib"
s.version = "0.0.2"
s.summary = "This is a TestLib."
s.homepage = "https://www.jianshu.com/u/d1f45ccb900f"
s.license = "MIT"
s.author = {"haohaisheng" => "haohaisheng95@163.com"}
s.platform = :ios, "6.0"
s.source = { :git => "https://github.com/Water95/PodTestDemo.git", :tag => s.version}
s.source_files = "Test", "Test/*/.{h,m}"
s.requires_arc = true
end

相關文章