CocoaPods建立自己的框架-筆記

前段時間看到了 @貓爪 的一片文章,講了個人如何上傳自己的私有庫,供別人使用讯檐。按照他的教程讹蘑,期間碰到了許多問題癣朗,這里做個筆記碌尔,供像我一樣的純新手使用苍匆。

@貓爪 【最新】上傳代碼到cocoapod ,自己的框架提供給開發(fā)者使用
@zhiyi 特別感謝這位熱心的大神耐心的解答我的小白問題

1. git上創(chuàng)建一個新的repository

創(chuàng)建新的repository
創(chuàng)建

這時你的git上就新建了一個空的工程它碎,下面需要將工程clone到本地函荣。

done

2.添加代碼

將庫文件與使用Demo,添加到第一步clone下來的空的工程中去扳肛。

目錄

然后用git客戶端將代碼上傳到git

上傳代碼

3.打Tag傻挂,首先要cd進(jìn)入clone下來的工程主目錄

  1. 本地tag。
// 打tag挖息,注意金拒,這里的tag打在本地,還沒有push到git的origin
git tag 0.0.1 -m 'update'
clone目錄

cd進(jìn)入clone目錄

打Tag
  1. pushorigin套腹,這一步狠重要绪抛,否則后面會報錯
// 將Tag,Push到origin
git push origin --tags
將本地tag push 到 origin

4.podspec文件

  1. 創(chuàng)建电禀。路徑還是與第3步一樣幢码。在clone下來的主目錄下。
// 創(chuàng)建podspec文件
pod spec create JWTrace
創(chuàng)建`.podspec`文件
  1. 編輯文件內(nèi)容
Pod::Spec.new do |s|
  // 名稱
  s.name         = "JWTrace"
  // 版本
  s.version      = "0.0.3"
  // 描述
  s.summary      = "日志打印控制器"
  // 主頁
  s.homepage     = "https://github.com/junwangInChina/JWTrace"
  // 證書申明
  #s.license      = "MIT"
  s.license      = { :type => 'MIT', :file => 'LICENSE' }
  // 作者
  s.author       = { "xxx" => "xxx@xxx.com" }
  // 支持版本
  s.platform     = :ios, "8.0"
  // 版本地址
  s.source       = { :git => "https://github.com/junwangInChina/JWTrace.git", :tag => "0.0.3" }
  // 庫文件路徑(相對于.podspec文件的路徑)
  s.source_files  = "JWTraceDemo/JWTrace/**/*.{h,m}"
  // 是否支持arc
  s.requires_arc = true
end

需要注意的是s.source_files 路徑不要搞錯尖飞。

  1. 校驗文件
// 校驗文件
pod spec lint ./JWTrace.podspec

注意這一步蛤育,我在這里卡了很久,因為校驗老是不通過葫松,但是又沒有錯誤信息瓦糕。[!] The spec did not pass validation, due to 2 errors and 1 warning.只有類似這種錯。
這里建議使用幫助命令

// 查看幫助命令
pod --help
幫助命令
// 把校驗命令修改為
pod spec lint ./JWTrace.podspec --verbose

錯誤詳細(xì)信息

上面的錯誤說找不到分支腋么,這就是第3步里的tag沒有pushorigin導(dǎo)致的咕娄。
將打好的tag,push到git上去之后珊擂,再校驗圣勒。

// 再校驗
pod spec lint ./JWTrace.podspec --verbose
校驗通過

注意看最后面


警告
  1. 提交.podspec文件到git
    可能遇到的錯誤1
// 提交到git服務(wù)器,無警告時
pod trunk push ./JWTrace.podspec

如果你是第一次提交摧扇,可能會出現(xiàn)You need to register a session first錯誤

session錯誤

就是要注冊session的意思
參考1
參考2

// 第一次push到git時圣贸,需要注冊session
pod trunk register xxx@xxx.com 'name' --description='macbook air'
注冊session,成功后到郵箱點(diǎn)一下激活鏈接

可能遇到的錯誤2

// 提交到git服務(wù)器
pod trunk push ./JWTrace.podspec

警告未處理

提交成功示例

// 提交到git服務(wù)器扛稽,忽略警告
pod trunk push ./JWTrace.podspec --allow-warnings
提交成功

可能遇到的問題3

可能遇到的問題3

網(wǎng)上說是因為pod緩存的問題吁峻,要刪掉本地的master重新pod setup

rm -fr ~/.cocoapods/repos/master
pod setup

我的處理方式是升級cocapods版本

// 默認(rèn)升級到最新版本
gem install cocoapods
// 再更新本地repo
pod repo update --verbose

升級cocoapods到最新版本

update本地repo

此時cocoapods已經(jīng)準(zhǔn)備好了,再提交

pod trunk push ./JWCounter.podspec --allow-warnings
升級完成之后,再提交用含,成功

可能遇到的問題4

可能遇到的問題4

這個問題一般在上一步矮慕,校驗podspec文件時,就會出現(xiàn)
因為你的破的文件沒有指明是用于什么系統(tǒng)

// 加上這個就行了
s.platform     = :ios, '7.0'

可能遇到的問題5

可能遇到的問題5

這個問題的出現(xiàn)場景與解決方案與上一個問題基本一樣啄骇,都是在podspec文件里缺少指明

// 加上這個
s.frameworks   =  'UIKit'

可能遇到的問題6

問題6

因為你沒有更新本地庫啊

方法一:
終端輸入命令pod repo update 更新倉庫痴鳄,在執(zhí)行search命令。

方法二:
刪除~/Library/Caches/CocoaPods目錄下的search_index.json文件
pod setup成功后會生成~/Library/Caches/CocoaPods/search_index.json文件缸夹。
終端輸入rm ~/Library/Caches/CocoaPods/search_index.json
刪除成功后再執(zhí)行pod setup(會重新生成search_index.json文件的)

方法三:
git clone https://github.com/CocoaPods/Specs.git ~/.cocoapods/repos/master
pod cache clean --all
rm -rf ~/Library/Caches/CocoaPods
pod repo update
  1. pod search
    最后就是校驗自己的成果了痪寻。
// 利用pod,查詢自己提交的庫
pod search JWTrace
查詢
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末虽惭,一起剝皮案震驚了整個濱河市橡类,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌趟妥,老刑警劉巖,帶你破解...
    沈念sama閱讀 212,884評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件佣蓉,死亡現(xiàn)場離奇詭異披摄,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)勇凭,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,755評論 3 385
  • 文/潘曉璐 我一進(jìn)店門疚膊,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人虾标,你說我怎么就攤上這事寓盗。” “怎么了璧函?”我有些...
    開封第一講書人閱讀 158,369評論 0 348
  • 文/不壞的土叔 我叫張陵傀蚌,是天一觀的道長。 經(jīng)常有香客問我蘸吓,道長善炫,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,799評論 1 285
  • 正文 為了忘掉前任库继,我火速辦了婚禮箩艺,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘宪萄。我一直安慰自己艺谆,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,910評論 6 386
  • 文/花漫 我一把揭開白布拜英。 她就那樣靜靜地躺著静汤,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上撒妈,一...
    開封第一講書人閱讀 50,096評論 1 291
  • 那天恢暖,我揣著相機(jī)與錄音,去河邊找鬼狰右。 笑死杰捂,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的棋蚌。 我是一名探鬼主播嫁佳,決...
    沈念sama閱讀 39,159評論 3 411
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼谷暮!你這毒婦竟也來了蒿往?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,917評論 0 268
  • 序言:老撾萬榮一對情侶失蹤湿弦,失蹤者是張志新(化名)和其女友劉穎瓤漏,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體颊埃,經(jīng)...
    沈念sama閱讀 44,360評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡蔬充,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,673評論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了班利。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片饥漫。...
    茶點(diǎn)故事閱讀 38,814評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖罗标,靈堂內(nèi)的尸體忽然破棺而出庸队,到底是詐尸還是另有隱情,我是刑警寧澤闯割,帶...
    沈念sama閱讀 34,509評論 4 334
  • 正文 年R本政府宣布彻消,位于F島的核電站,受9級特大地震影響宙拉,放射性物質(zhì)發(fā)生泄漏证膨。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,156評論 3 317
  • 文/蒙蒙 一鼓黔、第九天 我趴在偏房一處隱蔽的房頂上張望央勒。 院中可真熱鬧,春花似錦澳化、人聲如沸崔步。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,882評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽井濒。三九已至灶似,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間瑞你,已是汗流浹背酪惭。 一陣腳步聲響...
    開封第一講書人閱讀 32,123評論 1 267
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留者甲,地道東北人春感。 一個月前我還...
    沈念sama閱讀 46,641評論 2 362
  • 正文 我出身青樓,卻偏偏與公主長得像虏缸,于是被迫代替她去往敵國和親鲫懒。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,728評論 2 351

推薦閱讀更多精彩內(nèi)容