目錄
特別感謝:http://www.itdecent.cn/p/1764b67d4527

一 ?cocoapods安裝與使用
參考鏈接 http://www.itdecent.cn/p/7138ab490d14
1?替換ruby源
?ruby -v 查看ruby版本
gem sources -l
gem sources --remove ?https://rubygems.org/ ?移除掉原有的源
gem source -a https://gems.ruby-china.com
gem sources ?-l
2?更新升級 Gem 版本
(gem不更新可能導致安裝pod失敗)
sudo gem update --system ?
輸入開機密碼
gem -v?查看gem版本
3. 安裝CocoaPods
sudo gem install cocoapods
pod --version
sudo gem install -n /usr/local/bin cocoapods --pre ?安裝穩(wěn)定的最新的release beta版本
4. 更新Podspec索引文件
pod setup 更新索引庫
5. cocoapods的使用
1> cd進入項目目錄
2> touch Podfile ?新建Podfile的文件
3>?編輯 Podfile文件
方式一
直接打開該文件然后輸入
source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '13.0'
target 'AboutCollectionView' do
pod 'AFNetworking', '~> 3.1.0'
end
其中第一行https://github.com/CocoaPods/Specs.git為SDK來源
第二行13.0為iOS的版本號
第三行中AboutCollectionView為Xcode工程的名字
第四行AFNetworking', '~> 3.1.0為要導入SDK的名字和約束版本號
方式二(推薦)
1:還是在項目目錄下,輸入vim Podfile,然后 按鍵盤的“i”鍵 編輯,當下面的"Podsfile" 0L, 0C將變成-- INSERT --,表示可以編輯了,然后輸入上面的文本內(nèi)容。
2:編輯完成后想要退出保存
先按左上角的esc鍵,再按shift +:鍵,當:符號出現(xiàn)在最下面的時候,再輸入wq,點擊回車,就保存并退出去了。
4> 執(zhí)行pod install
(第一次花的時間比較多,慢慢等著吧)
二 ?創(chuàng)建本地私有庫
1、在項目根目錄的上一個文件夾中創(chuàng)建一個文件夾lib,然后通過終端cd到該目錄下;
2、終端命名pod lib create Tools(Tools是你創(chuàng)建私有庫的名字,可修改),創(chuàng)建時候可能會出現(xiàn)這種錯誤
解決方法就是在終端輸入下面兩條命令:
sudo gem install colored2
sudo gem update --system
然后重復2、3步即可會出現(xiàn)下面界面!
依次選擇iOS、objc、Yes、None、TZ,意思一看就知道了,可以變化;這樣就會自動創(chuàng)建了私有庫工程,并自動打開
3、打開的工程就類似下面,其中上面的BYViewController等類可以給我們用來調(diào)試該私有庫的,真正的私有庫是放在下面pods--->Development-->Tools-->Classes里面;可以把私有庫包含的類拉到該文件中,這樣本地私有庫就創(chuàng)建成功了。
其中podfile里面的pod 'Tools', :path => '../'中path意思就是指向該本地庫的路徑,該路徑文件夾中內(nèi)容就是私有庫的內(nèi)容,可以通過cd到該podfile根目錄,然后通過pod install可以把該文件夾下面內(nèi)容全部拉到項目中來,如果該私有庫依賴第三方庫,那么只需要將第三方庫的pod到該私有庫中即可,例如將pod 'AFNetworking', "~> 3.0" 寫入到該私有庫的podfile中
4、回到主項目的podfile中,添加
pod 'Tools', :path => '../lib/Tools'
這句話意思就是pod Tools私有庫,路徑是后面的,../意思是返回到上一個文件夾,然后lib子文件夾,然后Tools文件夾
5、cd到主項目的根目錄,然后pod install ,這樣就可以把私有庫pod到主項目中,至此本地私有庫創(chuàng)建結(jié)束
三 ?創(chuàng)建遠程私有庫
僅僅是本地私有庫是沒啥用的,我們需要遠程的私有庫才行,下面是創(chuàng)建遠程私有庫方法。
我們公司是自己搭建的gitLab,下面是創(chuàng)建私有庫步驟:
1、登錄進去
點擊New Project;會進入創(chuàng)建新項目界面
輸入項目名字,描述,選擇private模式,然后點擊下面的create project
會進入到這個界面
2、打開終端,cd 到lib/Tools中,然后輸入命令
git remote add originhttp://172.16.1.102/zhaojingjing/Tool.git
后面路徑是該項目的路徑,可以選擇是ssh或者http模式,兩個模式路徑不一樣,(提示出錯信息:fatal: remote origin already exists.
解決辦法如下:
1、先輸入$ git remote rm origin
2、再輸入$ git remote add origin[git@github.com:djqiang/gitdemo.git](mailto:git@github.com:djqiang/gitdemo.git)就不會報錯了!
參考鏈接:http://blog.csdn.net/dengjianqiang2011/article/details/9260435)
然后輸入
git push -u origin master
這個時候就把私有庫項目傳到gitLab上,但是私有庫上的內(nèi)容沒傳上去的,
然后輸入
git add .(主要add后面加個空格然后再加點)
git commit -m '初始化'
這樣就把私有庫內(nèi)容傳到遠程倉庫中了
另外需要修改私有庫的.podspec文件,
s.version 版本號
s.summary? 描述
s.description 描述
s.homepage? 庫的根路徑,例如http://172.16.1.102/zhaojingjing
s.source? 庫的真正路徑
s.source_files? 庫的內(nèi)容路徑
另外我們需要給該庫打個版本號,cd 庫的根路徑:../lib/Tools
查詢版本號:git tag
設(shè)置版本號:git tag 0.1.0
上傳版本號:git push --tags
這樣就把遠程庫打上了標簽號,注意的是設(shè)置的版本號要和.podspec文件里面的版本號一致
四 ?創(chuàng)建遠程私有Spec Repository
下一步就是提交.podspec文件到私有倉庫,便于用戶pod。
1、創(chuàng)建并設(shè)置一個私有的Spec Repository
在gitlab上創(chuàng)建一個空的倉庫,命名為Specs,這個倉庫是用來存放我們自己所有的私有庫的spec文件,就如同官方的https://github.com/CocoaPods/Specs是用來存放所有官方的specs文件一樣。
在終端執(zhí)行命令?pod repo add Specs?http://xxx.git
注意:上面的命令的解釋如下:
pod repo add REPO_NAME SOURCE_URL
其中的 REPO_NAME 是我們要添加的私有repo的名稱(這里我們待會填的是:Specs),后面是倉庫的 gitlab 地址。這里做的其實是創(chuàng)建的工作,也就是在~/.cocoapods/repo目錄下添加了一個以你的私有repo為名的文件夾,但是并沒有添加spec文件。
至此,我們已經(jīng)在本地得到我們自己的私有倉庫 Specs ,這是一個空的倉庫。
假如原來私有倉庫Specs地址變了,只需要,
pod repo add Specs 新地址
添加一個新的源地址
五 ?提交.podspec遠程私有 Spec Repository
添加 剛才創(chuàng)建的 Tool.podspec 到你的 Spec Repository。
pod repo push Specs Tool.podspec
如果有警告,會導致無法通過,需要添加--allow-warnings
如果使用了第三方庫,或者c函數(shù)相關(guān)的,需要添加--use-libraries
pod repo push Specs Tool.podspec --use-libraries --allow-warnings
試一下可否能搜到改私有庫
pod search Tool
有時候會搜不到
解決:rm ~/Library/Caches/CocoaPods/search_index.json 然后重新搜索
然后將框架寫入到項目的podfile里面,注意:
由于這是我們的私有庫,當pod install的話,cocoapods會默認從gitHub上搜索,所以我們要在項目的podfile上面寫上我們私有庫的源地址,也就是我們之前創(chuàng)建的存放我們自己所有的私有庫的spec文件的項目,例如:http://172.16.1.102/zhaojingjing/Specs.git
設(shè)置源的方法是在podfile上面寫上
source 'http://172.16.1.102/zhaojingjing/Specs.git'
source 'https://github.com/CocoaPods/Specs.git'
即可!
六 ?更新私有庫
再就是更新庫了,假如庫有更新,需要更新到最新版本,添加版本號!操作如下:
1、cd 到本地庫根目錄
2、git add .(主要add后面加個空格然后再加點)
git commit -m '初始化'
這樣就把私有庫內(nèi)容傳到遠程倉庫中了
另外我們需要給該庫打個版本號,cd 庫的根路徑:../lib/Tools
查詢版本號:git tag
設(shè)置版本號:git tag 0.1.0
上傳版本號:git push --tags
然后修改私有庫的.podspec文件里面的s.version,必要時候也可以修改s.summary 描述
然后將剛才修改的.podspec文件傳到私有庫中
pod repo push Specs Tool.podspec --use-libraries --allow-warnings
其中Specs是私有源庫的名稱,Tool.podspec是剛才修改的.podspec文件名稱
傳完后試一下可否能搜到改私有庫
pod search Tool
搜到,并且有兩個版本號就說明成功了!并在在電腦~/.cocoapods/repos里面的對應私有庫里面就有兩個版本號了!
如果私有庫需要依賴第三方庫,那么只需要在.podspec文件中添加
s.dependency 'Masonry', '~> 1.0.2'
s.dependency 'MBProgressHUD', '~> 1.0.0'
即可!
修改庫.podspec文件時候再次上傳容易導致- ERROR | [iOS] xcodebuild: Returned an unsuccessful exit code. You can use--verbosefor more information.
這個錯誤,解決方法就是要保證podspec文件填寫正確,并且在 執(zhí)行pod repo push Specs BMCCommon.podspec的時候添加--allow-warnings,例如pod repo push Specs BMCCommon.podspec --allow-warnings