Cocoapods 建立第三方框架

LinXunFeng發表於2018-04-04

一、上傳專案到github

將框架中的主要檔案放入到一個指定資料夾中,比如叫Classes或者Lib都可以

目錄結構

  • 開啟終端,cd到框架目錄
cd /Users/lxf/xxxx/LXFPhotoHelper 
複製程式碼
  • 初始化倉庫
git init
複製程式碼
  • 將當前目錄新增到快取區
git add .
複製程式碼
  • 提交到本地倉庫
git commit -m '描述'
複製程式碼
  • 新增遠端倉庫地址
git remote add origin https://github.com/LinXunFeng/xxx.git
複製程式碼
  • 提交到遠端倉庫
git push origin master
複製程式碼

如果出現如下提示

fatal: unable to access 'https://github.com/xxx/xxx.git/': The requested URL returned error: 403
複製程式碼

原因是本地快取了使用者名稱和密碼 編輯.git目錄下的config檔案

vi .git/config
複製程式碼

找到url那一行,在github.com前加上使用者名稱後儲存,再重新執行推送操作

url = https://LinXunFeng@github.com/LinXunFeng/xxx.git
複製程式碼
  • 打標籤
// 具體說明可以執行`git tag --help`後檢視
// git tag -a '版本號' -m 'tag描述'
// 注意一下,這裡打的標籤只是在本地
git tag '0.0.1'
複製程式碼
  • 推著所有標籤至遠端倉庫
// 只推著指定版本
// git push origin 版本號 
git push --tags
複製程式碼

二、建立並修改podspec檔案

  • 建立Spec檔案
// 名稱一般與工程名稱保持一致
pod spec create 框架名稱
複製程式碼

podspec檔案

  • 修改Spec檔案
  s.name         = "LXFPhotoHelper(倉庫名稱)"
  s.version      = "0.0.1(版本號,這裡跟下面s.source中的tag有關)"
  s.summary      = "對你自己倉庫的簡單描述,不要寫太多字"
  s.description  = "這個是詳細描述,這裡需要注意的是,這裡文字的長度需要比  
  s.summary的要長,不然會出現警告"
  s.homepage     = "倉庫首頁地址,如https://github.com/LinXunFeng/LXFPhotoHelper"
  s.license      = "MIT"
  s.author       = { "LinXunFeng" => "598600855@qq.com" }
  # source存放的地址是程式碼的真正地址
  s.source       = { :git => "倉庫對應的git地址,如https://github.com/LinXunFeng/LXFPhotoHelper.git", :tag => "#{s.version}" }
  # pod install時真正下載下來的檔案路徑,這裡指定的是你倉庫下的Classes目錄中的所有.h和.m檔案(填寫的是相對地址)
  # ** 通配目錄
  s.source_files  = "Classes", "Classes/**/*.{h,m}"

  # s.library = "sqlite3" # 框架依賴系統的sqlite3
複製程式碼

也可以上官網的手冊【Podspec Syntax Reference】上檢視

這裡需要我們注意的是s.version= "0.0.1",這裡的版本號要與剛剛打的tag一致

三、註冊trunk

// --verbose 列印詳情資訊
// pod trunk register 郵箱 '你的名稱' --verbose
pod trunk register 598600855@qq.com 'LinXunFeng' --verbose
複製程式碼

然後去驗證郵箱

驗證成功
驗證成功後會提示我們回到終端,並敲入pod trunk push 名稱.podspec

四、上傳Spec

執行pod trunk push後會有一個稽核的過程,如果提示沒有通過,有ERROR就修改好後重新push,如果只是WARN可以選擇在pod trunk push後面加上--allow-warnings來忽略它們

pod trunk push LXFPhotoHelper.podspec --allow-warnings
複製程式碼

如果出現如下資訊,則說明你的框架名字已被佔用,得重新改個名字~ 所以,在建立你自己的cocoapods倉庫時最好是到cocoapods.org上先查一下有沒有相同名字的

[!] You (xxx@qq.com) are not allowed to push new versions for this pod. The owners of this pod are yyy@qq.com.
複製程式碼

上傳成功後會自動幫我們更新本地倉庫,如果無法搜尋到自己的框架,可以先刪掉本地的索引檔案後再搜尋一次

rm ~/Library/Caches/CocoaPods/search_index.json
複製程式碼

當使用pod search 命令可以搜尋自己的框架時, 那麼就意味著稽核通過了

微信公眾號

相關文章