本文涉及的知識點(diǎn):
- 簡單描述下靜態(tài)庫的創(chuàng)建&使用
- 簡述
CocoaPods- 收集的一些問題
靜態(tài)庫創(chuàng)建&使用

1.jpg
- 也可以創(chuàng)建
.framework結(jié)尾的靜態(tài)庫- 和動態(tài)庫一樣,新建項(xiàng)目以后,修改
Mach-O Type為Static Libiary
- 修改生成的路徑,在
Copy files中可以看到Subpath,把之前的路徑刪除 - 添加自己的文件,為了后續(xù)導(dǎo)入方便,刪除
StaticFramework.m,在StaticFramework.h中導(dǎo)入其它頭文件。
2.jpg - 在
Copy files中導(dǎo)入其它頭文件,供外部使用
3.jpg - 編譯,在
Products中找到.a結(jié)尾的靜態(tài)庫,Show in Finder,把這些文件全部復(fù)制,見圖:
4.jpg -
新建一個項(xiàng)目,直接把這些文件拖入,使用
5.jpg
這里暫時都用模擬器來操作,不同版本的庫參考之前寫的動態(tài)庫
- 如何查看一個
framework是動態(tài)庫還是靜態(tài)庫?
使用
file命令

5.jpg
CocoaPods
CocoaPods是Xcode工程中的包管理軟件
為什么要使用CocoaPods
為了節(jié)約開發(fā)時間,我們通常會把一些第三方的庫導(dǎo)入到項(xiàng)目中。在實(shí)踐過程中,會遇到諸多問題。
- 第三方庫的后續(xù)迭代問題
- 靜態(tài)庫導(dǎo)入時,需要配置
Xcode參數(shù)。- 靜態(tài)庫依賴系統(tǒng)動態(tài)庫,需要手動導(dǎo)入
- 導(dǎo)入對比參考: 百度地圖SDK
CocoaPods核心概念
Podfile文件,用來寫清楚需要安裝哪些Pod庫Specs倉庫,托管在Github上。用來查詢某個pod庫的詳細(xì)信息。podspec描述文件,用來描述某個pod倉庫信息,包含代碼地址、作者、版本號等信息
CocoaPods是如何管理iOS項(xiàng)目的依賴的?
pod install以后都做了什么?
- 對
Podfile文件的解析 - 安裝依賴
- 解析Podfile中的依賴
- 下載依賴(大部分的依賴都會被下載到 ~/Library/Caches/CocoaPods/Pods/Release/ 這個文件夾中,然后從這個這里復(fù)制到項(xiàng)目工程目錄下的 ./Pods 中,這也就完成了整個 CocoaPods 的下載流程。)
- 創(chuàng)建
Pods.xcodeproj工程- 生成
workspace
使用CocoaPods的好處?
- 避免直接導(dǎo)入文件的原始方式,方便后續(xù)代碼升級
- 簡化、自動化集成流程,避免不必要的配置
- 自動處理庫與庫之間的依賴關(guān)系
- 簡化開發(fā)者發(fā)布代碼流程
關(guān)于use_frameworks!
我們在Podfile文件中使用use_frameworks!后,Pods工程下面的庫會以動態(tài)庫的形式引入,反之則為靜態(tài)庫。
在Swift項(xiàng)目中,必須要用use_frameworks!,否則會報(bào)找不到庫文件的錯誤



