關於怎麼上傳一個SDK到github,並且可以用cocoapods管理。

weixin_33806914發表於2019-03-09

所謂熟能生巧,這句話確實是有一定道理存在的。。不然何以見得,

今天來說一下,怎麼讓自己的程式碼儲存到cocoapods,

第一步:建立github專案

1)登陸github (https://github.com
2)建立你的github 專案,如下圖填寫號相關資訊就可以了

1694726-ff9508bb9b363878.png
螢幕快照 2019-03-09 下午4.00.51.png

第二步:將github遠端專案拉取到本地

1)這裡拉去到本地,你可以用github命令或者客戶端都可以;
2)我這裡採用SourceTree 獲取專案到本地。


1694726-45d078f36eb06d44.png
螢幕快照 2019-03-09 下午4.08.50.png

第三步:將需要託管的程式碼提交到github上

1)把你要提交的工程檔案放到你要提交的目錄下面,並根據情況建立你需要的分支(或者標籤),並且用0.0.0的格式命名。保證你在建立 podspec 檔案的時候可用。


1694726-557009083928cf9f.png
螢幕快照 2019-03-09 下午4.10.56.png

2)將分子(或者tag)推送到遠端

第四步:建立註冊登陸cocoapods

1)註冊:pod trunk register 郵箱地址 ‘使用者名稱’ --description='描述資訊'

  /// 在終端輸入
  $ pod trunk register xxxxx.163.com 'xxxx' 
  /// 執行成功後會提示
[!] Please verify the session by clicking the link in the verification email that has been sent to 18381671632@163.com
然後開啟郵箱驗證即可,

2)驗證是否註冊成功 pod trunk me
如果成功了後會給出使用者相關的資訊

第五步:建立.podspec檔案 (eg: xxx.podspec,其中xxx是你需要為你的庫命的名字)

1)先cd 到你本地目錄下面; ($ cd /Users/sobeycloud/Desktop/myGithubTest )

2)建立 xxx.podspec 檔案;($ pod spec create xxxFramework )
建立好了會提示 Specification created at xxxFramework.podspec


1694726-6090c59704df0d93.png
螢幕快照 2019-03-09 下午3.48.01.png

第六步:編輯 xxx.podspec 檔案,這裡直接用文字編輯器開啟,或者Sublime;我覺得這裡時最麻煩的,這個檔案只要稍微有一點錯誤就沒法驗證成功。所以要注意一下。。。

1)這裡直接用文字編輯器開啟;

  #名字
  s.name         = "xxxFramework"

  #版本號
  s.version      = "0.0.3"
  
  #簡介
  s.summary      = "A short description of xxxFramework."  
 
  #描述
  s.description  = "a repository demo"  
  
  #專案主頁,不是git地址
  s.homepage     = "https://github.com/lovt/xxxFramework"   

  #儲存庫的git地址,以及tag值 (這個一定要和git 上的版本號(或者tag號)一致),不然無法找到路徑。    
  s.source       = { :git => "https://github.com/lovt/xxxFramework.git", :tag => "0.0.3" }   

  #開源協議   
  s.license      = { :type => "MIT", :file => "LICENSE" } 

  #作者  
  s.author       = { "lovt" => "18381671632@163.com" }  

  #支援的平臺和版本號
  s.platform     = :ios, "8.0"  

  #是否支援ARC
  # s.requires_arc = true 

  #系統所以來的框架
  s.frameworks = 'UIKit', 'CoreFoundation'

  #所依賴的第三方庫,沒有就不用寫
  # s.dependency "Masonry", "~> 1.0.0"    


  #需要託管的原始碼路徑      
  s.source_files  =  "Framework/TestObject.h","Framework/TestObject.m"
  # 或者
 s.source_files  =  "Framework/TestObject.{h,m}"

  # 需要忽略的檔案
  # s.exclude_files = "Framework/TestObject.{h,m}"

  # 框架體的子層目錄關係
  ## 比如,框架下面有一個叫 Category 的目錄資訊相關資料。
  s.subspec "Category" do |ss|

    ss.source_files = 'ZHCustomKit/Category/*.{h,m}'
    ss.frameworks   = 'UIKit'

  end

# 這個可以讓你在使用cocoapods 的時候使用   
# pod 'xxxFramework/Category'  
# 的方式匯入


# 這裡一定要仔細注意每一個細節,這樣才能保證在驗證的時候可以通過。不然驗證的時候不通過,查詢很難受。。。(雖然有提示)我就是第一次的時候遇到很多的坑,(主要是不熟悉)。。

第七步:驗證xxx.podspec 檔案是否有效

1) ( pod spec lint --allow-warnings )忽略所有警告
2)如果驗證不通過,那麼按照提示修改 xxx.podspec 檔案,繼續驗證,直到沒有錯誤為止。

第七步:釋出到cocoapods

1)驗證成功後,你就可以釋出了,
( pod trunk push --allow-warnings )

到此,你github 上面的程式碼,就可以用cocoapods 來管理了,

趕快去 pod search xxx 一下,看看有沒有你的庫吧。
這個應該是搜尋不到的,因為你本地的檔案還沒有更新。
1)你可以用 pod search xxx --simple
2)你可以刪除本地 search_index.json 檔案後,在此收縮就可以了( rm search_index.json )就可以了。
3)或者你直接到cocoapods 去搜尋吧。( https://cocoapods.org

忽然感覺也就那麼回事。。。

相關文章