私有庫pod搭建與應用

首先來說說什么是私有庫

顧名思義柏靶,就是你的私人代碼倉庫,而不是開源出去讓大家都能看到并參與開發(fā)的項目溃论。私有倉庫可以進行權限控制屎蜓,只有擁有權限的人才能訪問并修改它,也就是我們所說的合作者蔬芥。
私有庫不在cocoaPods的官方Repo倉庫中梆靖,而是在自建的spec repo中,庫索引是以 *.podspec文件形式存在笔诵,自建的spec repo放在路徑~/.cocoapods/repos下返吻,與master同級,其鏈接的遠程倉庫可以是公開的乎婿,也可以是私有的测僵。

創(chuàng)建pod庫

創(chuàng)建私有庫有兩種方案,第一種方案手動創(chuàng)建 podspec與自己私有倉庫進行關聯,第二種直接使用cocoapods創(chuàng)建

方案一

首先選擇在xcode里新建framework項目捍靠,并且在公司倉庫gitLab新建兩個遠程倉庫(索引庫沐旨、代碼庫)用git將本地framework項目推入遠端
在用終端本地執(zhí)行

#用于創(chuàng)建一個新的 Pod(即一個 iOS 或 macOS 的庫或框架)的規(guī)范文件(`.podspec` 文件)
pod spec create PodName

.podspec里面進行編輯,稍后會詳細講解 podspec文件內容
最后在終端執(zhí)行查看當前pod文件是否規(guī)范

#用于檢查一個 Pod 的規(guī)范文件(`.podspec` 文件)是否符合規(guī)范和要求
pod spec lint PodName.podspec

如果編譯成功榨婆,符合規(guī)范要求就可以提交pod 方案一與方案二提交都一樣磁携,此處先略過了

pod repo push 索引庫 podName.podspec--verbose--use-libraries--allow-warning
方案二
  • 直接使用cocoapods創(chuàng)建
pod lib create PodName
  • 然后依次輸入,執(zhí)行即可
What platform do you want to use?? [ iOS / macOS ]
> iOS
What language do you want to use?? [ Swift / ObjC ]
> ObjC
Would you liketo include a demo application with your library? [ Yes / No ]
> YES
Which testing frameworks will you use? [ Specta / Kiwi / None ]
> None
Would you like to do view based testing? [ Yes / No ]
> No
What is your class prefix?
> HY
  • 添加庫文件。
    成功后會創(chuàng)建出一個pod_test工程良风,目錄結構如下


    pod_test工程文件.png

    將編寫好的一些文件拉入pod_test/classes中谊迄。


    pod_test功能內部classe文件.png

    Example是創(chuàng)建Pods工程時生成的一個工程,用于驗證添加的庫文件是否能正常使用烟央。Example目錄下Podfile文件中自動設置了pod_test依賴统诺,如下:
target 'pod_test_Example' do
  pod 'pod_test', :path => '../'    #自動添加了

cd Example文件夾下,終端執(zhí)行pod install或pod update疑俭,安裝pod_test依賴就可以查看在項目中應用了

  • 提交pods庫到github上粮呢。打標簽,推送到遠程钞艇。重點:tag打的版本號必須和podspec中的s.version值相同
.podspec文件配置
#
# Be sure to run `pod lib lint SYCoreKit.podspec' to ensure this is a
# valid spec before submitting.
#
# Any lines starting with a # are optional, but their use is encouraged
# To learn more about a Podspec see https://guides.cocoapods.org/syntax/podspec.html
#

Pod::Spec.new do |s|
  s.name             = 'xxxxx'  #搜索的關鍵詞,注意這里一定要和.podspec的名稱一樣
  s.version          = '0.0.1' #版本號啄寡,每一個版本對應一個tag
  s.summary          = "iOS框架" #項目簡介
  s.description      = "iOS框架" #pod詳細描述
  s.homepage         = 'http://114.116.222.206:9002/zhangchao/siyucorekit.git' #項目主頁地址
  # s.screenshots     = 'www.example.com/screenshots_1', 'www.example.com/screenshots_2'
  s.license          = { :type => 'MIT', :file => 'LICENSE' } #許可證
  s.author           = { 'superMan' => 'xxxxxxxx' }#作者
  s.source           = { :git => 'http://xxx.git', :tag => s.version.to_s }#項目的地址
  s.social_media_url = 'https://twitter.com/xxx'#作者社交地址
#  s.pod_target_xcconfig = { 'VALID_ARCHS' => 'arm64'} 是修改當前pod工程中的項目設置
#  s.user_target_xcconfig = { 'VALID_ARCHS' => 'arm64','EXCLUDED_ARCHS[sdk=iphonesimulator*]' => 'arm64'}  是修改當前用戶工程中的項目設置
  s.ios.deployment_target = '12.0' #支持的pod最低版本
  s.static_framework = true #動態(tài)庫模式pod
  s.requires_arc     = true # 是否啟用ARC
  s.source_files = 'SYCoreKit/Classes/**/*' #需要包含的源文件
  
  # s.resource_bundles = {
  #   'SYCoreKit' => ['SYCoreKit/Assets/*.png']
  # } 資源文件

  # s.public_header_files = 'Pod/Classes/**/*.h' #標記公共頭文件列表
  s.ios.frameworks = "UIKit", "Foundation" #支持的系統框架
  s.dependency 'YYModel', '1.0.4'#三方依賴
end

?著作權歸作者所有,轉載或內容合作請聯系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市哩照,隨后出現的幾起案子这难,更是在濱河造成了極大的恐慌,老刑警劉巖葡秒,帶你破解...
    沈念sama閱讀 206,311評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件姻乓,死亡現場離奇詭異,居然都是意外死亡眯牧,警方通過查閱死者的電腦和手機蹋岩,發(fā)現死者居然都...
    沈念sama閱讀 88,339評論 2 382
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來学少,“玉大人剪个,你說我怎么就攤上這事“嫒罚” “怎么了扣囊?”我有些...
    開封第一講書人閱讀 152,671評論 0 342
  • 文/不壞的土叔 我叫張陵,是天一觀的道長绒疗。 經常有香客問我侵歇,道長,這世上最難降的妖魔是什么吓蘑? 我笑而不...
    開封第一講書人閱讀 55,252評論 1 279
  • 正文 為了忘掉前任惕虑,我火速辦了婚禮坟冲,結果婚禮上,老公的妹妹穿的比我還像新娘溃蔫。我一直安慰自己健提,他們只是感情好,可當我...
    茶點故事閱讀 64,253評論 5 371
  • 文/花漫 我一把揭開白布伟叛。 她就那樣靜靜地躺著私痹,像睡著了一般。 火紅的嫁衣襯著肌膚如雪统刮。 梳的紋絲不亂的頭發(fā)上侄榴,一...
    開封第一講書人閱讀 49,031評論 1 285
  • 那天,我揣著相機與錄音网沾,去河邊找鬼。 笑死蕊爵,一個胖子當著我的面吹牛辉哥,可吹牛的內容都是我干的。 我是一名探鬼主播攒射,決...
    沈念sama閱讀 38,340評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼醋旦,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了会放?” 一聲冷哼從身側響起饲齐,我...
    開封第一講書人閱讀 36,973評論 0 259
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎咧最,沒想到半個月后捂人,有當地人在樹林里發(fā)現了一具尸體,經...
    沈念sama閱讀 43,466評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡矢沿,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 35,937評論 2 323
  • 正文 我和宋清朗相戀三年滥搭,在試婚紗的時候發(fā)現自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片捣鲸。...
    茶點故事閱讀 38,039評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡瑟匆,死狀恐怖,靈堂內的尸體忽然破棺而出栽惶,到底是詐尸還是另有隱情愁溜,我是刑警寧澤,帶...
    沈念sama閱讀 33,701評論 4 323
  • 正文 年R本政府宣布外厂,位于F島的核電站冕象,受9級特大地震影響,放射性物質發(fā)生泄漏汁蝶。R本人自食惡果不足惜交惯,卻給世界環(huán)境...
    茶點故事閱讀 39,254評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧席爽,春花似錦意荤、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,259評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至齐饮,卻和暖如春捐寥,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背祖驱。 一陣腳步聲響...
    開封第一講書人閱讀 31,485評論 1 262
  • 我被黑心中介騙來泰國打工握恳, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人捺僻。 一個月前我還...
    沈念sama閱讀 45,497評論 2 354
  • 正文 我出身青樓乡洼,卻偏偏與公主長得像,于是被迫代替她去往敵國和親匕坯。 傳聞我的和親對象是個殘疾皇子束昵,可洞房花燭夜當晚...
    茶點故事閱讀 42,786評論 2 345

推薦閱讀更多精彩內容

  • 前言 隨著移動互聯網的不斷發(fā)展,很多程序代碼量和業(yè)務越來越多葛峻,現有架構已經不適合公司業(yè)務的發(fā)展速度了锹雏,很多都面臨著...
    AE86閱讀 1,016評論 0 2
  • 簡述 Cocoapods是個非常好的iOS依賴管理工具,可以方便的進行管理和更新使用到的第三方庫术奖,以及在做代碼模組...
    whqfor閱讀 591評論 0 0
  • ?我在上一篇文章中說完公有庫的創(chuàng)建礁遵,那么公有庫的創(chuàng)建是為了開源自己寫的一些工具庫或者框架,而私有庫的創(chuàng)建就是為了在...
    Jackie_123閱讀 361評論 0 1
  • 目的: 在構建私有庫之前采记,先了解以下幾個基本基本...概念 repo(repository倉庫) repo只是go...
    Tenloy閱讀 394評論 1 3
  • Pod私有庫搭建 1榛丢、申請私有索引庫項目權限: https://gitlab.pengpengla.com/pen...
    CaptainMi閱讀 871評論 0 0