CocoaPods介紹
CocoaPods是iOS開發(fā)最著名的類庫管理工具诸衔,絕大部分有名的開源類庫撩幽,都支持CocoaPods隘击。使用CocoaPods可以輕松引入第三方庫替久,管理其版本,相信iOS大部分開發(fā)者都用過辫呻。怎么安裝CocoaPods和在iOS項目中使用CocoaPods清钥,這里就不做介紹了,本篇文章是教大家怎么創(chuàng)建開發(fā)屬于自己的庫(組件)放闺,并且使用CocoaPods編譯鏈接靜態(tài)或動態(tài)庫祟昭,編譯好的動態(tài)或靜態(tài)庫就可以添加到項目中使用了。
主要步驟
1. 創(chuàng)建Pod lib模板
打開終端怖侦,切換到創(chuàng)建庫的路徑下篡悟,輸入命令:
pod lib create 庫名
然后CocoaPods會從github上下載lib模板谜叹,需要回答幾個問題初始化模板,初始化成功會自動打開Xcode工程恰力。
2. 編寫lib代碼叉谜,或者把寫好的文件添加到項目中
在路徑:項目文件夾/lib名文件夾/Classes/ 中旗吁,有個文件是“ReplaceMe.m”踩萎,意思就是把這個文件替換了,把寫好的庫文件放到這里很钓。
項目文件夾/lib名文件夾/Assets/ 中香府,用來存放lib需要用到的資源,比如png等等码倦。
3. 編寫 *.podspec文件
在工程目錄下企孩,會有一個后綴名為“.podspec”的文件,使用文本編輯器打開袁稽,或者xcode打開勿璃,編輯配置podlib的配置。
4.pod install
打開工程目錄下的Example目錄推汽,這里是lib的例子补疑。在這個目錄下執(zhí)行pod install 就會把配置好的lib 重新安裝一遍,使用Xcode打開例子歹撒,可以編寫lib和運(yùn)行代碼看結(jié)果莲组。
5.驗證lib
前面例子編譯通過,調(diào)試完成暖夭,則驗證lib是否符合pod的標(biāo)準(zhǔn)锹杈。打開終端,切換到“.podspec”文件的目錄下迈着,輸入命令pod lib lint
竭望,等待pod驗證完成。如果有錯誤或者警告都是不允許驗證通過的裕菠,不過可以通過參數(shù)忽略市框,下面給出以下 lint 的參數(shù)。
--sources
:指定Repo地址
--allow-warnings
:忽略警告
--use-libraries
:依賴了靜態(tài)庫
6.提交git
驗證通過糕韧,就到提交git枫振,這一步不能少,要不然打包失敗萤彩。首先之前pod創(chuàng)建的lib模板就是git倉庫的粪滤,所以我們只需要提交就好了。如果有遠(yuǎn)端git倉庫的雀扶,也可以push過去杖小。
之前在編寫.podspec文件的時候肆汹,有一個參數(shù)是“s.source”,這里的地址可以是本地倉庫的也可以是遠(yuǎn)端倉庫的予权。
把lib代碼添加到git ------>> commit ------>> 添加tag昂勉。
podspec里面的tag,在git上一定要有扫腺,要不然找不到岗照。
7.打包
驗證通過,則進(jìn)入最后一步打包笆环。這里需要安裝一個pod插件cocoapods-packager攒至,在終端執(zhí)行命令:gem install cocoapods-packager
,等待安裝完成躁劣。
打開終端迫吐,切換到“.podspec”文件的目錄下,輸入命令pod package lib名字.podspec
就可以開始打包了账忘,等待打包完成志膀。
pod package lib名字.podspec
后面是可以加參數(shù)的:
--force
:強(qiáng)制覆蓋之前存在的文件
--library
:打包成.a文件
--dynamic
:打包成動態(tài)庫
--configuration
:配置選項,默認(rèn)為Release
8.lib引用不使用cocoapods的第三方庫(不開源的)
大部分的第三方庫都支持cocoapods鳖擒,如果引用支持cocoapods的第三方lib溉浙,直接*.podspec文件中使用語句s.dependency 第三方庫名
這樣就能很好的解決。
但是當(dāng)我們需要引用不支持cocoapods的第三方庫時败去,就得需要另外的語句指定放航,把需要的第三方lib放入到指定的文件夾中。
s.ios.vendored_frameworks = 'RegionCodeSearch/Classes/*.framework' #指定framework
s.ios.vendored_libraries = 'RegionCodeSearch/Classes/*.a' #指定 .a
每次編寫好*.podspec后圆裕,都需要重新pod install 广鳍,重新打開項目導(dǎo)入頭文件就可以使用。
在使用自己的lib時吓妆,需要把lib中引用的其他庫也拖進(jìn)項目中赊时,否則編譯失敗。
歡迎大家交流~