一、在Github上創建存儲庫(前提是得有一個Github賬號,如果沒有就注冊一個)
1.在你賬號的首頁的右上方會有新建存儲庫的按鈕,如下圖:
2.點擊New reposltory進入創建頁面
按自己的需求填寫好之后,點擊Create repository來創建這個存儲庫,出現下圖所示,說明創建成功了。
3.將Github上的存儲庫clone到本地
a.命令方式是在終端選好指定的目錄后輸入命令:git clone 工程的網址
b.如果通過GitHub客戶端也是可以的,需要點擊客戶端左上角的加號,然后選擇要clone 的存儲庫
選擇需要放置的位置
然后點擊clone 即可。
二、將需要cocoapods進行托管的SDK上傳到GitHub存儲庫上且發布到cocoapods上。
1.將自己的SDK工程拷到之前clone到本地的存儲庫中。
2.創建pod 賬號
發布到cocoapods上你需要有一個pod 的賬號,可以使用pod trunk me 來查看自己的賬號信息,如果沒有賬號的話需要先注冊一下:
然后通過郵箱去驗證一下
打開這個地址就可以驗證成功了,此時再輸入命令pod trunk me 就可以看到自己的賬號信息。
3.創建podspec文件
使用終端進入到工程文件的目錄中,在README.md文件所在的位置創建一個podspec 文件,使用pod spec create repositoryDemo
4.編輯podspec文件
因為新建的podspec是一個包含所有需要填寫信息的文件,其中有很多東西是不需要填就可以的,可以直接copy別人的podspec文件,然后將需要改動的地方作出相應的改動即可。
Pod::Spec.new do |s|
s.name = "RepositoryDemonstration" #存儲庫名稱
s.version = "0.0.1" #版本號,與tag值一致
s.summary = "a repository demo" #簡介
s.description = "a repository demo" #描述
s.homepage = "https://github.com/xiaowu2016/RepositoryDemonstration" #項目主頁,不是git地址
s.license = { :type => "MIT", :file => "LICENSE" } #開源協議
s.author = { "zhangchao" => "942777491@qq.com" } #作者
s.platform = :ios, "7.0" #支持的平臺和版本號
s.source = { :git => "https://github.com/xiaowu2016/RepositoryDemonstration.git", :tag => "0.0.1" } #存儲庫的git地址,以及tag值
s.source_files = "RepositoryDemonstration/Other/**/*.{h,m}" #需要托管的源代碼路徑
s.requires_arc = true #是否支持ARC
s.dependency "Masonry", "~> 1.0.0" #所依賴的第三方庫,沒有就不用寫
end
5.設置tag的值,并上傳到GitHub上
(1) git add * (將代碼添加到暫存區)
(2) git commit -m '提交內容' (將代碼提交到本地庫,并寫上簡述)
(3) git tag 'xxx'(設置本地分支的版本,xxx必須是你在 .podspec 文件中的 version(版本號))
(4) git tag (使用此命令查看tag的值是否設置成功)
(5) git push origin master (將本地主干提交到遠程服務端)
(6) git push origin xxx(將本地XXX版本上傳到GitHub服務器上并設置origin為XXX)
6.發布到cocoapods 上進行托管
(1) 先用pod spec lint 驗證podspec 文件
這里報了個警告,直接使用pod spec lint --allow-warnings來忽略所有警告即可。
(2) 發布
輸入 pod trunk push --allow-warnings命令來發布到cocoapods上,這可能需要幾分鐘時間。
(3) 使用pod search 搜索自己的庫
直接在終端輸入pod search RepositoryDemostration 結果顯示沒找到
可能是發布到pod遠程庫成功了,但是本地庫沒更新導致的,所以用了pod repo update命令,結果還是沒找到,但是我在本地庫里用find 命令來搜是能搜到的
最后在網上查了一下,可能是需要在pod search RepositoryDemostration 后面加上--simple,試了一下,果然能搜到了
用pod search --help查了一下 --simple是只搜索庫名字,所以應該是我注冊pod賬號時所用的用戶名與.podspec文件里作者的名字不一致引起的。
(4) 使用剛發布的庫
新建一個工程,然后導入自己剛發布的庫,Podfile文件如下:
結果如圖:
可以看到RepositoryDemonstration與其依賴庫Masonry都導入成功。