iOS 利用cocoapods進(jìn)行本地組件化

項(xiàng)目到了一定規(guī)模, 項(xiàng)目的代碼組織和結(jié)構(gòu)顯得尤為重要.

重構(gòu)項(xiàng)目結(jié)構(gòu), 可以從分離代碼開(kāi)始.

代碼分離, 可以把常用穩(wěn)定的組件封裝抽離出來(lái).

我的做法是使用 cocoapods 來(lái)管理.

下面進(jìn)入今天的主題: 使用 cocoapods 管理自己的本地代碼.

使用 xcode 創(chuàng)建一個(gè)工程, 工程名就起為T(mén)estPods.在桌面或者你喜歡的目錄下面都可以.

在 TestPods 下面創(chuàng)建 LocalLib 目錄, 用來(lái)放置分離的代碼.

在 LocalLib 下面, 我的 pod 庫(kù)代碼名稱(chēng)為 download.可以新建這個(gè)目錄.

我的目錄如下

image

在 download 目錄下面, 創(chuàng)建 podspec 文件, 創(chuàng)建命令如下

pod spec create download  

具體文件內(nèi)容, 大家在創(chuàng)建后, 可以自行查看.

修改 download.podspec, 主要修改幾個(gè)關(guān)鍵地方:

1. 源碼位置

2. 源碼版本

# ――― Source Location ―――――――――――――――――――――――――――――――――――――――――――――――――――――――――― #  
 #  
 #  Specify the location from where the source should be retrieved.  
 #  Supports git, hg, bzr, svn and HTTP.  
 #  
  
 s.source       = { :git => "", :tag => "0.0.1" }  
  
  
 # ――― Source Code ―――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――― #  
 #  
 #  CocoaPods is smart about how it includes source code. For source files  
 #  giving a folder will include any swift, h, m, mm, c & cpp files.  
 #  For header files it will include any header in the folder.  
 #  Not including the public_header_files will make all headers public.  
 #  
  
 s.source_files  = "Source", "Source/**/*.{h,m}"  
 s.exclude_files = "Source/Exclude"  

另外, 配置好相關(guān)描述信息, 不要包含'Example'的字樣, 不然, 新版的 pod 在執(zhí)行 pod install 時(shí)候, 會(huì)報(bào)出警告和錯(cuò)誤.

其他工程可以使用 pods 庫(kù)了.

將 TestPods 改為 cocoapods 項(xiàng)目.

在 TestPods 目錄, 執(zhí)行

pod init 

修改 Podfile 文件

# Uncomment this line to define a global platform for your project  
# platform :ios, '7.0'  
# Uncomment this line if you're using Swift  
# use_frameworks!  
  
target 'TestPods' do  
  
pod 'download', :path => './LocalLib/download/'  
  
#pod 'core_lib_spec', :svn => 'http://svn.ids111.com/o2o/client/ios/trunks/master/Frameworks/CoreLibrary'  
  
end  
  
target 'TestPodsTests' do  
  
end  
  
target 'TestPodsUITests' do  
  
end  

關(guān)鍵是指明 pod 庫(kù)的位置.

pod 'download', :path => './LocalLib/download/'  

在 TestPods 下面, pod install 即可.

如果, pod install 報(bào)錯(cuò), 一般都是你的 pod 庫(kù)的配置文件(.podspec)里面寫(xiě)的不符合要求.

根據(jù)報(bào)錯(cuò)信息, 加以修改即可.

xcode 打開(kāi)工程.

image
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

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

  • 項(xiàng)目組件化、平臺(tái)化是技術(shù)公司的共同目標(biāo),越來(lái)越多的技術(shù)公司推崇使用pod管理第三方庫(kù)以及私有組件,一方面使項(xiàng)目架構(gòu)...
    swu_luo閱讀 22,876評(píng)論 0 39
  • 一. CocoaPods的介紹 什么是CocoaPods?CocoaPods是一個(gè)負(fù)責(zé)管理iOS項(xiàng)目中第三方開(kāi)源庫(kù)...
    輝712閱讀 4,127評(píng)論 0 7
  • 最近在學(xué)習(xí)vue.js的時(shí)候發(fā)現(xiàn),vue的組件化的思想對(duì)于編寫(xiě)代碼是一個(gè)非常有用的事情。 首先為什么需要組件化? ...
    拂曉的云閱讀 7,361評(píng)論 6 23
  • iOS CocoaPods組件平滑二進(jìn)制化方案及詳細(xì)教程 感謝"fly2never_寶貝別哭"??梢允褂胏ocoa...
    曹俊_413f閱讀 12,923評(píng)論 6 83
  • Ruby 安裝 要安裝cocospods 首先需要安裝ruby,可以先安裝xcode,再安裝macport ,最后...
    山天大畜閱讀 2,136評(píng)論 0 1

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