使用CocoaPods管理本地代碼
一個項目要想被加入到其它項目中,大致分為以下三個步驟
- 1.創建個本地項目
- 2.把本地項目加入到本地的倉庫中(git Respoitory)
- 3.創建podspec
具體操作如下:
首先 在~/desktop/DemoSdk目錄下 ,創建一個項目為DemoSDK的項目,然后在此目錄下 git init 初始化這個git respoitory =>git add . =>git commit -m"add new demoSdk"
現在就剩下一個podspec了 這個根據你的需要做配置
Pod::Spec.new do |s|
s.name = 'DemoSdk'
s.version = '0.0.1'
s.license = 'Commercial'
s.summary = 'DemoSdk is very beauty.'
s.homepage = 'https://example.com/'
s.author = { 'today' => '666666@qq.com' }
s.platform = :ios,"7.0"
s.source = { :git => "~/Desktop/DemoSdk" } #本地的路徑
s.source_files = "DemoSdk/**/*.{h,m}" #制定需要引入的文件
s.requires_arc = true
end
對可能需要用到的參數說明下
name: 導入pod后的目錄名
version: 當前版本號
deployment_target: 配置的target
prefix_header_file: 預編譯頭文件路徑,將該文件的內容插入到Pod的pch文件內
source: 來源的具體路徑,是http鏈接還是本地路徑
requires_arc: 是否需要arc
source_files: 指定該目錄下包含哪些文件
s.resource: 資源文件(xib,storyborad,.....)
其他可選參數還包括:
dependency: 指定依賴,如果依賴的庫不存在或者依賴庫的版本不符合要求將會報錯
libraries: 指定導入的庫,比如sqlite3
frameworks: 指定導入的framework
weak_frameworks: 弱鏈接,比如說一個項目同時兼容iOS6和iOS7,但某一個framework只在iOS7上有,這時候如果用強鏈接,那么在iOS7上運行就會crash,使用weak_frameworks可以避免這種情況。
寫完podspec文件后使用pod spec lint驗證spec是否合格,有error則需要修改
需要引入DemoSdk的項目只需要修改podfile如下
platform :ios,'7.0'
pod 'DemoSdk' , :path =>'~/desktop/DemoSdk'
path: 指定需要引入的代碼的路徑
最后 pod install --no-repo-update,大功告成。
小結:
- podspec: 描述項目的信息。eg:名字,版本,code地址....(說明一個要 pod 的庫的配置是什么,pod的庫代碼放在哪里)。
- Podfile: 描述你需要使用和依賴哪些框架(項目依賴那個pod,以何種方式依賴,它的podspec在哪里)。