不識廬山真面目,只緣身在此山中
一、概述
1、cocoapods是什麼?
3、cocoapods應用
二、podfile基礎使用
1、基礎
2、pod指定依賴項版本範圍
3、pod制定依賴庫的分支或節點
4、關於podfile中一些配置說明
# 使用官方預設位址(預設)
source
''複製**
use_frameworks!:使用此命令會在pods工程下的frameworks目錄下生成依賴庫的framework,如果不使用,會在pods工程下的products目錄下生成.a的靜態庫。
do use_frameworks!
end複製**
關於pofile的詳細語法可以參考: podfile syntax reference 或 podfile檔案用法詳解
三、cocoapods建立私有pod庫
1、概述
2、建立私有pod庫
pod lib create qsbizsdk # qsbizsdk是sdk的名字
what platform do you want to use?? [ ios / macos ]
> ios
what language do you want to use?? [ swift / objc ]
> objc
> 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?
> qs
......
複製**
說明3: 將專案託管到git,私有庫一般上傳到內部的倉庫中。
3、podspec編輯
pod::spec.new do
|s| s.name = 'qsbizsdk'
s.version = '1.0.0'
s.summary = 'a short description of qsbizsdk.'
s.description = <<-desc
add long description of the pod here.
desc
s.homepage = ''
s.license =
s.author =
s.source =
s.ios.deployment_target = '8.0'
s.default_subspec = 'qscore'
# 各個子模組的個自的原始碼路徑
s.subspec 'qscore'
do|qscore|
qscore.source_files = 'classes/qscore/**/*'
end# a a 一定要不一樣,是別名,新增好暴露的標頭檔案
s.subspec 'a'
do|a|
a.source_files = 'classes/qscore/a/**/*'
a.public_header_files='classes/qscore/a/*.h'
end# 可以新增內部自己模組,或者外部的依賴
s.subspec 'b'
do|b|
a.source_files = 'classes/qscore/b/**/*'
a.public_header_files='classes/qscore/b/*.h'
b.dependency 'classes/qscore/a'
b.dependency 'afnetworking', '~> 3.0'
b.frameworks = 'systemconfiguration', 'cfnetwork', 'passkit'
b.libraries = 'c++', 'z'
end s.subspec 'c'
do|c|
c.source_files = 'classes/qscore/c/**/*'
c.dependency 'classes/qscore/b'
endend
複製**
說明:對於乙個功能比較多的sdk,podspec中需要做的事情比較多,如利用subspec將**模組化,方便使用時按需匯入;不同的模組可能依賴framework、靜態庫、內部其他模組,也需要處理好;
說明2:可以使用pod spec lint ***.podspec
來檢查podspec的配置有效性
4、podspec加入私有sepc repo
pod repo push qs_private_pods_specs qsbizsdk.podspec
複製**
說明:新增成功之後qs_private_pods_specs
中會包含qsbizsdk庫的podspec資訊, 可以前往~/.cocoapods/repos
下的qs_private_pods_specs
資料夾中檢視, 同時git伺服器中的遠端也更新了.
5、更多參考
四、其他
1、pod setup原理
2、pod instal和pod update的區別
3、第三方庫禁止bitcode
post_install do
|installer|
installer.pods_project.targets.each do
|target|
target.build_configurations.each do
|config|
config.build_setting["enable_bitcode"] = 'no'
endend
end複製**
4、清除相關命令#檢視本地pod快取
pod cache list
#清除某個庫快取
pod cache clean ***x
# 清除所有pod快取
pod cache clean -all
#刪除快取方法
rm ~/library/caches/cocoapods/pods/pods/release
複製**
5、其他# 更新庫命令
pod repo update
# 刪除 search_index.json 檔案
rm ~/library/caches/cocoapods/search_index.json
複製**
如何使用Cocoapods
第一部分搭建環境 這裡正式開始安裝 開啟終端,怎麼開啟終端隨你們自己,我個人習慣輸入快捷鍵 control 空格鍵 然後在彈出的搜尋框裡輸入英文的 ter 然後立馬按回車就ok了。1.先公升級gem sudo gem update system 2.切換cocoapods的資料來源 先刪除,再新增,...
cocoapods 安裝使用
一 安裝ruby映象檔案 參考 步驟一 替換安裝映象路徑 gem sources add remove 輔助命令列 查詢 gem sources l current sources 請確保只有 ruby.taobao.org 步驟二 安裝映象 gem install rails v 二 安裝coco...
cocoapods使用注意
1.公升級ruby環境 sudo gem update system如果ruby沒有安裝,請參考 如何在mac os x上安裝 ruby執行環境 2.安裝cocoapods時我們要訪問cocoapods.org,用 的rubygems映象來代替官方版本,執行以下命令 等有反應之後再敲入以下命令 為了...