Cocoapods使用小記

2021-09-24 06:27:16 字數 3610 閱讀 5833

不識廬山真面目,只緣身在此山中

一、概述

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映象來代替官方版本,執行以下命令 等有反應之後再敲入以下命令 為了...