現(xiàn)在越來越多的iOS項目使用CocoaPods來管理第三方庫酣溃,CocoaPods配置簡單,使用方便,為我們省去了手動添加第三方庫所產(chǎn)生的各種問題和麻煩絮蒿。網(wǎng)上很多文章介紹了如何使用CocoaPods引入第三方庫,如何創(chuàng)建支持CocoaPods的第三方庫叁鉴,這些文章教程所演示的第三方庫大多是基于git的土涝,關(guān)于CocoaPods和SVN配合使用的資料較少,接下來我就介紹一下CocoaPods和SVN的配合使用幌墓。
咱們就先從創(chuàng)建支持CocoaPods的開發(fā)庫說起但壮,這里我假設(shè)你已經(jīng)安裝好了CocoaPods:
1. 創(chuàng)建開發(fā)庫工程
打開"終端.app",使用pod lib create XXX
來創(chuàng)建開發(fā)庫工程。
按步驟回答提示的問題常侣,之后會自動創(chuàng)建好工程
這一步可能出現(xiàn)的終端報錯
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in \
require': cannot load such file -- colored2 (LoadError)`
提示缺少 colored2
蜡饵, 可使用sudo gem install colored2
進(jìn)行安裝, 提示缺什么就裝什么胳施。
2. 正確配置開發(fā)庫的SVN目錄結(jié)構(gòu)
將剛剛創(chuàng)建好的工程放入SVN的trunk
目錄下溯祸, 注意此時trunk
應(yīng)為根目錄,trunk
下存在的文件有 XXX.podspec、XXX文件夾焦辅、README.md博杖、LICENSE、Example文件夾筷登、_Pods.xcodeproj
剃根,如果CocoaPods在trunk
中找不到.podspec文件
,后面運行更新時會報錯仆抵。
3. 完成開發(fā)庫的配置和開發(fā)
進(jìn)入剛剛創(chuàng)建好的工程目錄打開 /Example/XXX.xcworkspace
在Xcode目錄中 找到
Pods/Development Pods/XXX/XXX/Classes
目錄(可通過查找ReplaceMe.m
找到該目錄)跟继,將庫文件放入其中,如果該庫需要依賴其他開源庫可在XXX/Podspec Metadata/XXX.podspec
中編輯,重要的編輯項有s.version=組件版本
镣丑,s.source=組件地址
舔糖,s.dependency=需要依賴的其他庫
編輯完成后,進(jìn)入
XXX.podspec
的上一層目錄莺匠,使用pod lib lint
校驗金吗,根據(jù)校驗結(jié)果修改XXX.podspec
直到校驗通過。
打開終端 進(jìn)入
Example文件夾
使用 pod install --no-repo-update
命令更新依賴庫趣竣,之后即可進(jìn)行組件的開發(fā)摇庙。開發(fā)完成后在Xcode的
Example For XXX 文件夾
中進(jìn)行庫文件的測試。
測試通過后遥缕,上傳svn 卫袒,其中
Example/Pods文件夾
的內(nèi)容或依賴庫可以通過命令pod install --no-repo-update
生成,可不上傳此文件夾中的內(nèi)容或依賴庫单匣,當(dāng)對組件進(jìn)行再次開發(fā)時夕凝,執(zhí)行命令pod install --no-repo-update
即可保證編譯正常。
最后根據(jù)在
XXX.podspec
中填寫的s.version
的值户秤,在SVN的tag
中打包為相應(yīng)版本码秉。下圖是打包tag的步驟(以Cornerstone為例)
還有創(chuàng)建完tag的目錄結(jié)構(gòu),創(chuàng)建tag并保持下圖的目錄結(jié)構(gòu)非常重要鸡号,pod實際是拉取目錄 XXX/tags/0.1.0(0.1.0是版本號文件夾转砖,請根據(jù)自己的設(shè)置進(jìn)行變化)下的文件。
下面是在其他工程中使用剛剛配置好的開發(fā)庫
1. 使用CocoaPods引入開發(fā)庫
在已有工程中的Podfile文件中編輯
pod 'XXX',:svn =>'svn://YourSvnPath/XXX',:tag =>'0.1.0'
可參考 Profile文件 Pod語法
然后使用 pod install --no-repo-update
進(jìn)行安裝鲸伴。
有些同學(xué)的svn地址是https的網(wǎng)址府蔗,沒有配置用戶名和密碼前會導(dǎo)致無法下載,解決方法是需要你去終端里連接一下svn汞窗,并輸入用戶名和密碼姓赤。
比如,在終端里運行svn checkout https://YourSvnPath/XXX
會提示你是否信任該https證書然后要求你輸入用戶名和密碼杉辙,校驗成功后模捂,接著在該終端里返回到項目目錄,使用 pod install --no-repo-update
安裝即可蜘矢。
更新后可以看到XXX庫已經(jīng)被下載下來了狂男,現(xiàn)在你就可以在工程中使用這個開發(fā)庫了
在CocoaPods與SVN的配合使用(二)中,我會繼續(xù)介紹如何使用CocoaPods將源碼庫打包為靜態(tài)庫framework或.a文件品腹,并通過CocoaPods引入到現(xiàn)有工程的構(gòu)建方式岖食,這種方式適用于不希望提供給使用者源碼的情況。