? ? ? ? 公司多個(gè)app開(kāi)發(fā)中,其中的一些模塊化的代碼相同骇吭,粘貼復(fù)制麻煩,有修改或者細(xì)節(jié)優(yōu)化歧寺,就需要多個(gè)app同時(shí)修改燥狰,工作繁瑣沒(méi)有效率棘脐,不利于代碼的反復(fù)使用。
? ? ? ? 就想到平時(shí)用的三方框架龙致,將自己封裝好的功能模塊放在GitHub上荆残,使用cocoapod集成這個(gè)模塊代碼,當(dāng)代碼優(yōu)化修改時(shí)就使用pod將代碼的版本更新即可净当;既方便集成使用内斯,也方便記錄代碼的多個(gè)迭代版本;
1. 創(chuàng)建demo工程像啼,在demo中確保代碼塊的正常調(diào)用俘闯,弱化耦合性;
2. 將demo上傳至github忽冻,再clone到本地:
在github上新建項(xiàng)目時(shí)需要注意一下幾點(diǎn):1.項(xiàng)目選擇公開(kāi)Public真朗;2.最好添加README文件;3.最好添加gitignore文件僧诚;4.必須添加license文件遮婶,我選擇的是MIT license (基本上開(kāi)源的項(xiàng)目的license的類型都是MIT);
3. 創(chuàng)建項(xiàng)目的podspec文件
用終端命令cd到本地項(xiàng)目目錄并執(zhí)行如下命令:
$pod spec create 項(xiàng)目名稱 ??
這時(shí)候本地生成一個(gè) 項(xiàng)目名稱.podspec 文件
使用vi打開(kāi).podspec文件(不要直接使用文本編輯器打開(kāi)文件修改湖笨,這樣會(huì)曹成格式錯(cuò)誤)旗扑,填寫里面的內(nèi)容,下面是我項(xiàng)目的.podspec文件:
Pod::Spec.new do |s|
s.name? ? ? ? = "CustomLoadingTool"
s.version? ? ? = "1.0.0"
s.summary? ? ? = "A Library for iOS to use for loading view."
s.homepage? ? = "https://github.com/wangguimin/CustomLoadingTool"
s.license? ? ? = "MIT"
s.author? ? ? ? ? ? = { "wangguimin" => "870503894@qq.com" }
s.source? ? ? = { :git => "https://github.com/wangguimin/CustomLoadingTool.git", :tag => "#{s.version}" }
s.source_files? = "CustomLoadingToolDemo/CustomLoadingToolDemo/CustomLoadingTool/*.{h,m}"
s.frameworks? = "Foundation"
s.platform? ? = :ios, "8.0"
end
//需要注意的是s.source_files路徑一定要寫對(duì)
//公共資源文件也就是pod 下來(lái)的文件? *.{h,m}是通配符意思是所有在該目錄下以.h .m結(jié)尾的文件? 該目錄地址是相對(duì)于CustomLoadingTool文件的
4. 驗(yàn)證podspec文件?
編輯完podspec文件后需要驗(yàn)證一下這個(gè)文件是否可用慈省,podspec文件不允許有任何的Warning或者Error
執(zhí)行命令? $ pod lib lint 項(xiàng)目名稱.podspec如果出現(xiàn)
->CustomLoadingTool (1.0.0)
CustomLoadingTool? passed validation
則說(shuō)明 驗(yàn)證通過(guò)臀防,否則,根據(jù)提示修改podspec文件再次驗(yàn)證边败,直到驗(yàn)證通過(guò)附帶說(shuō)一下袱衷,Xcode允許警告存在,所以可以通過(guò)命令屏蔽警告 $ pod lib lint? 項(xiàng)目名稱.podspec - allow-warnings
如果出現(xiàn)Error但是提示信息不足笑窜,可以添加—verbose 以獲取更多的錯(cuò)誤信息
$ pod lib lint 項(xiàng)目名稱.podspec —verbose?
5. 打印tag,上傳podspec
podspec 文件中需要指定的tag致燥,完成上述操作后給項(xiàng)目打上tag
$ git tag -m "first release ios_Category with podspec" "1.0.0"
$git push --tags
最后使用pod trunk 命令,把podspec文件推送到cocoapod官網(wǎng)庫(kù)
6. 注冊(cè)pod trunk
在終端輸入以下命令?? 參數(shù) 郵箱地址排截, 用戶名嫌蚤, 郵箱地址用github 上的最好
$ pod trunk register 870503894@qq.com?'wangguimin' ?—verbose
向服務(wù)器查詢自己注冊(cè)的信息 $ pod trunk me
7. 通過(guò)trunk推送podspec文件
$ pod trunk push CustomLoadingTool.podspec? 這個(gè)工程可能會(huì)比較耗時(shí)
出現(xiàn)如下圖的結(jié)果即可
8.搜索自己的項(xiàng)目吧
pod search 項(xiàng)目名
注意:
如果搜素出現(xiàn)錯(cuò)誤時(shí):
Unable to find a pod with name, author, summary, or description matching `CustomLoadingTool`
在終端中輸入 :rm ~/Library/Caches/CocoaPods/search_index.json
刪除本地pod的文件,然后在進(jìn)行搜索