? ? ? ? 公司多個app開發中,其中的一些模塊化的代碼相同,粘貼復制麻煩,有修改或者細節優化,就需要多個app同時修改,工作繁瑣沒有效率,不利于代碼的反復使用。
? ? ? ? 就想到平時用的三方框架,將自己封裝好的功能模塊放在GitHub上,使用cocoapod集成這個模塊代碼,當代碼優化修改時就使用pod將代碼的版本更新即可;既方便集成使用,也方便記錄代碼的多個迭代版本;
1. 創建demo工程,在demo中確保代碼塊的正常調用,弱化耦合性;
2. 將demo上傳至github,再clone到本地:
在github上新建項目時需要注意一下幾點:1.項目選擇公開Public;2.最好添加README文件;3.最好添加gitignore文件;4.必須添加license文件,我選擇的是MIT license (基本上開源的項目的license的類型都是MIT);
3. 創建項目的podspec文件
用終端命令cd到本地項目目錄并執行如下命令:
$pod spec create 項目名稱 ??
這時候本地生成一個 項目名稱.podspec 文件
使用vi打開.podspec文件(不要直接使用文本編輯器打開文件修改,這樣會曹成格式錯誤),填寫里面的內容,下面是我項目的.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路徑一定要寫對
//公共資源文件也就是pod 下來的文件? *.{h,m}是通配符意思是所有在該目錄下以.h .m結尾的文件? 該目錄地址是相對于CustomLoadingTool文件的
4. 驗證podspec文件?
編輯完podspec文件后需要驗證一下這個文件是否可用,podspec文件不允許有任何的Warning或者Error
執行命令? $ pod lib lint 項目名稱.podspec如果出現
->CustomLoadingTool (1.0.0)
CustomLoadingTool? passed validation
則說明 驗證通過,否則,根據提示修改podspec文件再次驗證,直到驗證通過附帶說一下,Xcode允許警告存在,所以可以通過命令屏蔽警告 $ pod lib lint? 項目名稱.podspec - allow-warnings
如果出現Error但是提示信息不足,可以添加—verbose 以獲取更多的錯誤信息
$ pod lib lint 項目名稱.podspec —verbose?
5. 打印tag,上傳podspec
podspec 文件中需要指定的tag,完成上述操作后給項目打上tag
$ git tag -m "first release ios_Category with podspec" "1.0.0"
$git push --tags
最后使用pod trunk 命令,把podspec文件推送到cocoapod官網庫
6. 注冊pod trunk
在終端輸入以下命令?? 參數 郵箱地址, 用戶名, 郵箱地址用github 上的最好
$ pod trunk register 870503894@qq.com?'wangguimin' ?—verbose
向服務器查詢自己注冊的信息 $ pod trunk me
7. 通過trunk推送podspec文件
$ pod trunk push CustomLoadingTool.podspec? 這個工程可能會比較耗時
出現如下圖的結果即可
8.搜索自己的項目吧
pod search 項目名
注意:
如果搜素出現錯誤時:
Unable to find a pod with name, author, summary, or description matching `CustomLoadingTool`
在終端中輸入 :rm ~/Library/Caches/CocoaPods/search_index.json
刪除本地pod的文件,然后在進行搜索