CocoaPods(repo是master) 上傳自己的項目

第一步:在GitHub上面創(chuàng)建一個要放置代碼的repository灸撰。步驟如圖:

創(chuàng)建repository

創(chuàng)建完成后,會進(jìn)入到如下界面:


repository創(chuàng)建完成

接下來就是在如上圖的界面打tag粗梭,具體操作見圖1~2

圖1

點擊圖一中的release,如果沒有創(chuàng)建過tag的話滞乙,則會出現(xiàn)create new release點擊之后出現(xiàn)圖二樣式

圖2
  • 圖二1處填寫的是git上的tag斩启,這個要和后面的xxx.podspec的version 對應(yīng)(網(wǎng)上有說要加v的兔簇,本篇教程下是不需要)
  • 圖二2處是這個tag的名稱
  • 圖二3處是這個tag對應(yīng)的描述

如果不想上github上面打tag的話垄琐,可以執(zhí)行下面的語句

git tag '0.1.0'
git push --tags

這個時候就需要在本地把這個repository庫clone下來,建議使用GitHub desktop軟件操作墩朦。

下面介紹GitHub desktop軟件的clone操作:

  • 1氓涣、打開軟件GitHub desktop春哨,然后在左上角找到file選項
  • 2赴背、點擊file選項晶渠,會彈出三個選項,選擇第三個
  • 3便瑟、在彈出的選擇框里就是你的GitHub上面的庫到涂,找到對應(yīng)的clone就可以了

第二步實現(xiàn)方式一 :

  • 1践啄、打開clone下來的文件夾(命名為A,后面的A文件夾說的就是這個文件夾)

  • 2屿讽、打開終端伐谈,cd到A文件夾诵棵,然后終端輸入:
    git clone https://github.com/wode0weiyi/ConfigPublicPod.git

  • 3祝旷、終端cd到ConfigPublicPod文件夾中,然后執(zhí)行腳本./config.sh
    cd ConfigPublicPod
    ./config.sh
    (執(zhí)行腳本后护侮,會讓你輸入一系列參數(shù)羊初,projectName要傳到pod上的文件名什湘,httpsRepo是步驟一中創(chuàng)建repository庫的HTTPS地址闽撤,sshRepo就是repository庫的ssh地址哟旗,homePage是repository庫頁面的地址欄地址)

腳本執(zhí)行完成后,你的項目中就有了xxx.podspec文件了饱亮,這個就是pod的配置文件近上,后續(xù)要傳到pod上面去識別你的項目的壹无。

在xxx.podspec文件里面斗锭,你可以修改幾個地方,一個就是支持版本:
s.platform = :ios, "8.0"
一個就是author用戶:
s.author={"用戶名" => "GitHub賬號"}
s.version = "1.0.1"這個根據(jù)自己要提交到git上的版本進(jìn)行變更她倘。這里會遇到比較多的問題作箍。最后會把遇到的一些問題總結(jié)下胞得。

這個時候,看文件目錄:


image.png

針對第二步所說的步驟跃巡,下面介紹一個比較簡單點外莲,且目錄清晰的步驟兔朦。

第二步實現(xiàn)方式二

  • 1沽甥、cd到A目錄下面摆舟,將你要上傳的文件放到A目錄下面盏檐。然后創(chuàng)建一個xxx.podspec文件夾胡野。終端代碼:
    touch 傳到pod上的文件名.podspec
    然后用xcode打開xxx.podspec文件。將下面的代碼復(fù)制到文件里面:
#
#  Be sure to run `pod spec lint BLAPIManagers.podspec' to ensure this is a
#  valid spec and to remove all comments including this before submitting the spec.
#
#  To learn more about Podspec attributes see http://docs.cocoapods.org/specification.html
#  To see working Podspecs in the CocoaPods repo see https://github.com/CocoaPods/Specs/
#

Pod::Spec.new do |s|

  # ―――  Spec Metadata  ―――――――――――――――――――――――――――――――――――――――――――――――――――――――――― #
  s.name         = "WebRTCHelper"
  s.version      = "0.0.1"
  s.summary      = "WebRTCHelper."
  s.description  = <<-DESC
                    this is WebRTCHelper
                   DESC
  s.homepage     = "https://github.com/wode0weiyi/WebRTCHelper"
  s.license      = { :type => "MIT", :file => "FILE_LICENSE" }
  s.author             = { "huzhihui" => "wonderfulhzh@163.com" }
  s.platform     = :ios, "8.0"
  s.source       = { :git => "https://github.com/wode0weiyi/WebRTCHelper.git", :tag => s.version.to_s }
  s.source_files  = "WebRTCHelper/*.{h,m}"
  s.requires_arc = true
end

對應(yīng)的參數(shù)說明:

name:傳入pod的文件說明
version:傳入到pod上的版本,注意這里的版本一定要和git上面版本一致
summary:簡單描述
description:詳細(xì)描述
homepage:前面創(chuàng)建的repository的地址旨别,地址欄里的地址就可
license:憑證秸弛,這個在創(chuàng)建repository的時候選擇一下就行递览,見圖創(chuàng)建repository
author:發(fā)布者的信息绞铃,前面一個為用戶名荚坞,后面一個為GitHub的賬號
platform:支持的版本
source:資源信息菲盾,第一個引號里面的是repository的HTTPS地址亿汞,后面是tag疗我,不用動吴裤。
source_files:要傳文件的目錄
requires_arc :是否支持ARC

這里要重點注意的:

source_files:這里要注意的是這里的路徑是以xxx.podspec文件為根據(jù),同級的話钮蛛,就寫文件名就好(一般要傳pod的最外層文件夾和xxx.podspec文件是同級的)魏颓。往后多級的,逐級加叹话。如果多個的話驼壶,就分組加热凹,逗號隔開般妙。下面針對各種情況給出范例:

  • 1股冗、同級的文件夾B里面只有.h和.m文件
    source_files = "B/*.{h,m}"
  • 2止状、多級文件夾B/C/D(只有最后一級文件夾里面有.h和.m文件
    source_files = "B/C/D/*.{h,m}"
    -3怯疤、多級文件夾B/C/D,每個文件夾里面都有.h和.m文件
    source_files = "B/*.{h.m}","B/C/*.{h.m}","B/C/D/*.{h.m}"
    其中C D可以用**代替

接下來就是驗證xxx.podspec文件的正確性塔淤,終端cd 到xxx.podspec所在的文件夾高蜂,然后輸入

pod psec lint 或者pod spec lint --allow-warnings
驗證過程如果順利的話备恤,則會出現(xiàn)


podspec驗證

這里驗證會經(jīng)常出現(xiàn)兩個錯誤:

  • 錯誤1:file patterns: The ``source_files`` pattern did not match any file.
  • 解決方法: 先按照上面說的目錄層級檢查自己的目錄層級,如果無誤惭笑,還出現(xiàn)這個錯誤脖咐,就需要手動去對應(yīng)的文件夾添加想要放到pod上面的文件了。
    (1)汇歹、打開

/Users/Library/Caches/CocoaPods/Pods/External/你要傳的項目文件

如圖:


image.png

(2)屁擅、我現(xiàn)在要放到pod上面的是WebRTCHelper文件,則刪除掉圖中2處的所有文件产弹,然后在終端輸入pod psec lint xxx.podsepc,當(dāng)然錯誤還是存在派歌;
(3)、重新驗證后這個時候發(fā)現(xiàn)圖中2處會生成一個文件夾痰哨,點開這個文件夾胶果,在里面把你要放到pod上面的文件復(fù)制一份放到里面,(例如圖中的標(biāo)3的文件夾)斤斧。然后再驗證早抠,這個錯誤就會沒有了撬讽。當(dāng)然具體問題還要具體討論尝蠕,這個是一個解決方法囚聚。

  • 錯誤2:是git上打的版本和podspec文件里面的version不一致
  • 解決方法:首先確認(rèn)下自己在git上面有沒有打包跋破,可以通過在GitHub上查看,網(wǎng)頁上打開你在GitHub上創(chuàng)建的repository,點擊 release查看,如果打了tag的話,就會顯示出來,如圖:
    image.png

podspec文件里面的version改成自己看到圖中的1.0.0就可以了锄贼。

注意事項

A文件夾里面代碼和xxx.podspec文件驗證成功后,需要將所有的改動傳到GitHub上面去逻锐,避免后面出現(xiàn)錯誤盏档。
這個操作可以在GitHub desktop軟件上操作前翎,步驟為:

git更新

  • 1處如果A文件夾里面有數(shù)據(jù)或者文件修改,這里會展示出來橙数,不需要操作
  • 2處是對這次代碼文件提交的一個說明响疚,必填银受。填好后,點擊2處下面的Commit to master 按鈕
  • 點擊Commit to master 按鈕后蓝厌,完成后,點擊3處的所在地方蹦疑,然后等待就可以豆挽。

最后一步:驗證成功后,接下來就是上傳到pods花鹅。

在這之前,有一個好習(xí)慣就是驗證下你現(xiàn)在要傳到pod上面的文件名是否存在是嗜,比如我測試使用的是TestProject_2,驗證方法很簡單,就是pod搜索下看有沒有即可

pod search TestProject_2

如果搜索到和你文件名一樣的,這個時候你就要去改你的xxx.podspec文件里面的name屬性了
終端輸入:

pod trunk push xxx.podspec

然后等待結(jié)果就好芹扭,這個過程,網(wǎng)速不好的話會失敗。出現(xiàn):

pod失敗

成功后,看到終端輸出如圖:


pod成功

本篇說的pods公有庫上傳自己的項目的方式有點復(fù)雜,后面重新介紹了另外一種方式上傳,相比起來,步驟少了很多田篇,用起來也簡單,且不容易出現(xiàn)source_files報錯問題。有興趣的可以點擊鏈接查看在CocoaPods公有庫(repo是master)里面添加自己的項目

常見的錯誤請轉(zhuǎn)到錯誤分析

這篇說的是將自己的項目開源道pods上面,如果要創(chuàng)建自己的私有庫合陵,利用pod怎么去管理呢枢赔?請看CocoaPods私有庫管理,可以用于組件化,還會說到pod上傳項目拥知,文件層級怎么來劃分踏拜。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市低剔,隨后出現(xiàn)的幾起案子速梗,更是在濱河造成了極大的恐慌肮塞,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,252評論 6 516
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件姻锁,死亡現(xiàn)場離奇詭異枕赵,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)位隶,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,886評論 3 399
  • 文/潘曉璐 我一進(jìn)店門拷窜,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人涧黄,你說我怎么就攤上這事篮昧。” “怎么了笋妥?”我有些...
    開封第一講書人閱讀 168,814評論 0 361
  • 文/不壞的土叔 我叫張陵懊昨,是天一觀的道長。 經(jīng)常有香客問我春宣,道長酵颁,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,869評論 1 299
  • 正文 為了忘掉前任信认,我火速辦了婚禮材义,結(jié)果婚禮上均抽,老公的妹妹穿的比我還像新娘嫁赏。我一直安慰自己,他們只是感情好油挥,可當(dāng)我...
    茶點故事閱讀 68,888評論 6 398
  • 文/花漫 我一把揭開白布潦蝇。 她就那樣靜靜地躺著,像睡著了一般深寥。 火紅的嫁衣襯著肌膚如雪攘乒。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,475評論 1 312
  • 那天惋鹅,我揣著相機(jī)與錄音则酝,去河邊找鬼。 笑死闰集,一個胖子當(dāng)著我的面吹牛沽讹,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播武鲁,決...
    沈念sama閱讀 41,010評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼爽雄,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了沐鼠?” 一聲冷哼從身側(cè)響起挚瘟,我...
    開封第一講書人閱讀 39,924評論 0 277
  • 序言:老撾萬榮一對情侶失蹤叹谁,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后乘盖,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體焰檩,經(jīng)...
    沈念sama閱讀 46,469評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,552評論 3 342
  • 正文 我和宋清朗相戀三年侧漓,在試婚紗的時候發(fā)現(xiàn)自己被綠了锅尘。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,680評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡布蔗,死狀恐怖藤违,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情纵揍,我是刑警寧澤顿乒,帶...
    沈念sama閱讀 36,362評論 5 351
  • 正文 年R本政府宣布,位于F島的核電站泽谨,受9級特大地震影響璧榄,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜吧雹,卻給世界環(huán)境...
    茶點故事閱讀 42,037評論 3 335
  • 文/蒙蒙 一骨杂、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧雄卷,春花似錦搓蚪、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,519評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至揣钦,卻和暖如春雳灾,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背冯凹。 一陣腳步聲響...
    開封第一講書人閱讀 33,621評論 1 274
  • 我被黑心中介騙來泰國打工谎亩, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人宇姚。 一個月前我還...
    沈念sama閱讀 49,099評論 3 378
  • 正文 我出身青樓匈庭,卻偏偏與公主長得像,于是被迫代替她去往敵國和親空凸。 傳聞我的和親對象是個殘疾皇子嚎花,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,691評論 2 361

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