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