Gitblit組件化

1.在Gitblit上創(chuàng)建一個自己的遠(yuǎn)程私有索引庫,用來存放私有框架的podspec文件


image.png
  1. 創(chuàng)建本地的私有索引庫文件夾,并與遠(yuǎn)程私有索引庫進行關(guān)聯(lián)

2.1添加本地私有索引庫并與遠(yuǎn)程私有庫

$ pod repo add IOSMavenSpec http://wy@dnsdk.vimedia.cn:8080/r/IOSMavenSpec.git
image.png

2.2 再次查看本地已存在的索引庫

 pod repo

3 在Gitblit創(chuàng)建一個用來存放項目基礎(chǔ)組件的倉庫IOSMaven
參見第一步

4 快速創(chuàng)建模板工程(模板來自github)

4.1 快速創(chuàng)建模板測試工程 在/Users/eddy/Desktop/IOSMaven路徑下

  $ cd /Users/eddy/

  $ pod lib create IOSMaven

4.2 本地驗證podspec

pod lib lint --allow-warnings  --use-libraries --verbose

驗證不過的話;可以添加--verbose查看詳細(xì)錯誤信息

4.3 提交本地代碼

$ git status
$ git add .
$ git commit -m 'first commit'
$ git remote add origin '[http://wy@dnsdk.vimedia.cn:8080/r/IOSMaven.git](http://wy@dnsdk.vimedia.cn:8080/r/IOSMavenSpec.git')
 (將本地庫與遠(yuǎn)程代碼倉庫進行關(guān)聯(lián))
$ git push origin master  (提交到遠(yuǎn)程倉庫)
$ git tag '0.1.0' (要與IOSMaven.podspec文件中的tag值保持一致)
$ git push --tags(將tag提交到遠(yuǎn)程)

4.4 驗證遠(yuǎn)程是否正確

pod spec lint --allow-warnings(驗證遠(yuǎn)程是否正確) 

5 將podspec文件提交到本地的私有索引庫

$ pod repo push IOSMavenSpec IOSMaven.podspec

5 組件化
5.1、抽離一個基礎(chǔ)組件Tools

 spec.default_subspecs =  'Tools'  #默認(rèn)組件
  
  spec.subspec 'Tools' do |ss|
    ss.ios.deployment_target = '9.0'
    ss.vendored_frameworks = 'IOSMaven/Tools/*.framework'
  end

5.2、模塊組件

spec.subspec 'Ads' do |ss|
   ss.subspec 'Headline' do |hl| #頭條廣告
      hl.ios.deployment_target = '9.0'
      hl.vendored_frameworks = "IOSMaven/Ads/Headline/*.framework"
      hl.resource = "IOSMaven/Ads/Headline/*.bundle"
      hl.dependency 'Bytedance-UnionAD', '~>2.4.6.7'
      hl.dependency 'IOSMaven/Tools'
    end
end

加載xib資源需要制作bundle 組件化framework加載xib

6 引用遠(yuǎn)程庫

source 'http://wy@dnsdk.vimedia.cn:8080/r/IOSMavenSpec.git' #遠(yuǎn)程私有庫地址
source 'https://github.com/CocoaPods/Specs.git' #公有庫地址

platform :ios, ‘9.0’
use_frameworks!

target ‘CocoaPodDemo’ do

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

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

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