首先看這篇文章之前,已經(jīng)默認(rèn)你已經(jīng)懂的怎么通過CocoaPods集成遠(yuǎn)程共有或者私有的Pods了,如果還不了解翘盖,可以參考
1贫导、教你一步步用CocoaPods創(chuàng)建遠(yuǎn)程公有庫
2、教你一步步用CocoaPods創(chuàng)建遠(yuǎn)程私有庫
subspec最終實(shí)現(xiàn)的效果是什么樣子的呢声诸?為什么要用這個(gè)東西呢?
效果是這個(gè)樣子的:
image.png
為什么要用這個(gè)東西呢?
因?yàn)槲覀兎庋b的一段代碼殖妇,可能是有好幾段之間沒有聯(lián)系的代碼拼起來的。而有的時(shí)候破花,我們只想用我們封裝的代碼的某一段或者某幾段谦趣,比如現(xiàn)在,我們就只想用AFNetworking/Reachability (3.1.0)
我們的Podfile中只需要這么寫就OK了
image.png
.podspec文件座每,相關(guān)修改語法是這樣的
Pod::Spec.new do |s|
# 項(xiàng)目的名稱
s.name = 'DownLoader'
# 項(xiàng)目的版本號前鹅,通過項(xiàng)目git的tag標(biāo)簽進(jìn)行對應(yīng),這里的標(biāo)簽代表的版本
s.version = '0.1.1'
# 項(xiàng)目簡單的描述信息
s.summary = '簡單的下載器##0.1.1'
# 項(xiàng)目的詳細(xì)描述信息峭梳,注意舰绘,這里的文字的長度,一定要比上面的s.summary長葱椭,不然會認(rèn)為格式不合格
s.description = <<-DESC
簡單的下載器捂寿,支持?jǐn)帱c(diǎn)下載
DESC
# 項(xiàng)目的網(wǎng)頁主頁信息,這里可以直接寫自己的遠(yuǎn)程倉庫的主頁的地址
s.homepage = 'https://coding.net/u/WANG19931123/p/DownLoader'
# 截圖
# s.screenshots = 'www.example.com/screenshots_1', 'www.example.com/screenshots_2'
# 開源協(xié)議
s.license = { :type => 'MIT', :file => 'LICENSE' }
# 作者信息
s.author = { 'zy_ios@163.com' => 'zy_ios@163.com' }
# 這個(gè)比較重要孵运,指的就是git的對應(yīng)的遠(yuǎn)程倉庫的地址以及版本號秦陋,版本號直接獲取的是上面的s.version
# 項(xiàng)目地址,這里不支持ssh的地址治笨,驗(yàn)證不通過驳概,只支持HTTP和HTTPS粪小,最好使用HTTPS
s.source = { :git => 'https://WANG19931123:password@git.coding.net/WANG19931123/DownLoader.git', :tag => s.version.to_s }
# 多媒體介紹地址
# s.social_media_url = 'https://twitter.com/<TWITTER_USERNAME>'
# 支持的平臺及版本
s.ios.deployment_target = '8.0'
# 代碼源文件地址,**/*表示Classes目錄及其子目錄下所有文件抡句,如果有多個(gè)目錄下則用逗號分開探膊,如果需要在項(xiàng)目中分組顯示,這里也要做相應(yīng)的設(shè)置
# s.source_files = 'DownLoader/Classes/**/*'
s.subspec 'Category' do |category|
category.source_files = 'DownLoader/Classes/Category/**/*'
category.dependency 'AFNetworking', '~> 3.0'
category.dependency 'YYModel
end
s.subspec 'DownLoader' do |downLoader|
downLoader.source_files = 'DownLoader/Classes/DownLoader/**/*'
end
# 資源文件地址
# s.resource_bundles = {
# 'DownLoader' => ['DownLoader/Assets/*.png']
# }
# 公開頭文件地址
# s.public_header_files = 'Pod/Classes/**/*.h'
# 所需的framework待榔,多個(gè)用逗號隔開
s.frameworks = 'UIKit'
# 依賴關(guān)系逞壁,該項(xiàng)目所依賴的其他,當(dāng)在加載的時(shí)候也會一塊把相關(guān)的依賴的庫加載下來锐锣,如果有多個(gè)需要填寫多個(gè)
# s.dependency 'AFNetworking', '~> 2.3'
# 是否使用ARC腌闯,如果指定具體文件,則具體的問題使用ARC
s.requires_arc = true
end
image.png
pod search DownLoader
image.png
最終的實(shí)現(xiàn)效果是這樣的
image.png