Vickate_五分鐘制作自己的 CocoaPods 依賴庫

BEGAN

之前一直用大神們的寫好的輪子,哇塞,直接 cocoapod 就引進(jìn)項目里面了,覺得好厲害,很羨慕,想著自己什么時候也能發(fā)一個輪子讓大家也用用,不說做什么了,都不知道怎么上傳項目至 cocoapods 里面。

自己查找了很多資料,終于傳上了第一個輪子,廢話不多說,分以下幾步,上操作~

1.本地代碼
2.上傳到 Github托管
3.添加 CocoaPods 依賴庫

前兩步的操作可以參見我上邊寫的,鏈接以下:上傳到 Github托管。

我們直接從第三步開始:

1、我們在上傳代碼到 github 成功過后要給代碼打 tag
// 例如
$ git tag '1.0.0'
$ git push --tags
2、注冊trunk:(如果我們之前沒有注冊的話,需要注冊一個)
// 查看自己之前有沒有注冊過 trunk
$ pod trunk me

如果已經(jīng)注冊過會是以下樣式。


Paste_Image.png

未注冊的用戶需要執(zhí)行以下幾步:

$sudo gem install cocoapods

// 賬號郵箱是自己的 Github 賬號和用戶名
$pod trunk register xy@dtb@163.com 'VansXY'  --verbose

// 查看自己是否注冊成功
 $pod trunk me
3、配置自己的podspec文件

(1)打開項目文件夾

$cd Desktop/XYCategoryDemo/

(2)創(chuàng)建podspec文件

$ pod spec create XYCategoryDemo

這時項目中會生成一個XYCategoryDemo.podspec文件 用XCode 打開(或者下載一個 sublime Text

(3)根據(jù)自己的信息 ,進(jìn)行編輯XYCategoryDemo.podspec文件

// 提供的模板
Pod::Spec.new do |s|

  s.name         = "XYCategoryDemo"
  s.version      = "0.0.2"
  s.summary      = "A short description of XYCategoryDemo."
  s.description  = "XYCategoryDemo is very easy"

  s.homepage     = "https://github.com/VansXY/XYCategoryDemo.git"


  s.license      = { :type => "MIT", :file => "LICENSE" }


  s.author       = { "肖揚(yáng)" => "xy_dtb@163.com" }

  s.source       = { :git => "https://github.com/VansXY/XYCategoryDemo.git", :tag => "#{s.version}" }

  s.platform     = :ios, "8.0"

  s.source_files  = "XYCategoryDemo/XYCategory/*"
  #s.exclude_files = "Classes/Exclude"

  s.framework  = "UIKit"

  s.requires_arc = true
參數(shù)的注釋:
 name: 導(dǎo)入pod后的目錄名 
 version: 當(dāng)前版本號
 deployment_target: 配置的target 
 prefix_header_file: 預(yù)編譯頭文件路徑,將該文件的內(nèi)容插入到Pod的pch文件內(nèi)
 source: 來源的具體路徑,是http鏈接還是本地路徑 requires_arc: 是否需要arc
 source_files: 指定該目錄下包含哪些文件 其他可選參數(shù)還包括: dependency: 指定依賴,如果依賴的庫不存在或者依賴庫的版本不符合要求將會報錯
 libraries: 指定導(dǎo)入的庫,比如sqlite3
 frameworks: 指定導(dǎo)入的framework 
 weak_frameworks: 弱鏈接,比如說一個項目同時兼容iOS6和iOS7,但某一個framework只在iOS7上有,這時候如果用強(qiáng)鏈接,那么在iOS7上運(yùn)行就會crash,使用weak_frameworks可以避免這種情況。
通配符說明:
a{bb,bc}def.{h,m}表示四個文件abbdef.h abbdef.m abcdef.h abcdef.m
*.{h,m,mm}表示所有的.h .m .mm文件Class/**/*.{h,m}表示Class目錄下的所有.h .m文件
4、調(diào)試下podspec配置文件是否有錯誤
$ pod lib lint --allow-warnings  // 驗(yàn)證是否有合格

出現(xiàn)錯誤,可以根據(jù)錯誤修改下~沒有一次成功的。

5、提交 podspec 到 cocoapod 庫
# pod repo push [repo倉名] [podspec文件名]
$ pod repo push  xxx  xxx.podspec

完成之后這個私有庫就添加到我們的私有Spec Repo中,可以進(jìn)入到~/.cocoapods/repos目錄下查看

6、最后一步 trunk提交就可以了
# 提交podspec文件到trunkpod trunk push NNATree.podspec
  pod trunk push --allow-warnings
引用的一張圖

成功了!
pod search xxx 可能需要等一會才能搜到 或者運(yùn)行 pod setup試試(CocoaPod 官方會審核,審核通過后會搜索到,不要急~)

END

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容