一枚iOS coder, 貌似對(duì)pod這個(gè)工具熟悉的不行不行了吧, pod除了管理三方庫(kù)之外, 還能干很多事, 今天聊聊pod的一個(gè)plugin:pod package.
pod package, 顧名思義, 就是一個(gè)打包工具, 可以把代碼打包成靜態(tài)庫(kù)(.a和.framework)和動(dòng)態(tài)庫(kù)(.framework), 當(dāng)然Xcode也可以打包, 只是比pod package會(huì)麻煩一些. 網(wǎng)上關(guān)于使用Xcode打包的說(shuō)明已經(jīng)很多, 不再贅述.
為什么要使用打包為二進(jìn)制文件
二進(jìn)制化指的是通過(guò)編譯把組件的源碼轉(zhuǎn)換成靜態(tài)庫(kù)或動(dòng)態(tài)庫(kù),以提高該組件在App項(xiàng)目中的編譯速度。
為了項(xiàng)目組件化. 將單一功能的代碼寫(xiě)成一個(gè)倉(cāng)庫(kù), 在項(xiàng)目的podfile里面去引入
二進(jìn)制化的話就節(jié)省了很多源文件的編譯時(shí)間套像,直接使用編譯好的二進(jìn)制文件。
0. 安裝pod package
詳見(jiàn)GitHub cocoapods-packager, 不贅述
1. package的參數(shù)說(shuō)明
如果要使用podpackage, 首先, 你得有個(gè)podsepc, 簡(jiǎn)單說(shuō)明一下
0.使用pod創(chuàng)建倉(cāng)庫(kù)
pod lib create Demo
根據(jù)提示, 一步一步去搞, 不贅述
1.參數(shù)
到Demo.podspec的目錄下, 執(zhí)行 pod package --help
如下:
//強(qiáng)制覆蓋之前已經(jīng)生成過(guò)的二進(jìn)制庫(kù)
--force
//生成靜態(tài).framework
--embedded
//生成靜態(tài).a
--library
//生成動(dòng)態(tài).framework
--dynamic
//動(dòng)態(tài).framework是需要簽名的仲器,所以只有生成動(dòng)態(tài)庫(kù)的時(shí)候需要這個(gè)BundleId
--bundle-identifier
//不包含依賴的符號(hào)表囱淋,生成動(dòng)態(tài)庫(kù)的時(shí)候不能包含這個(gè)命令剃毒,靜態(tài)庫(kù)一定需要包含依賴的符號(hào)表宝剖。
--exclude-deps
//表示生成的庫(kù)是debug還是release洁闰,默認(rèn)是release。
--configuration=Debug //設(shè)置為debug的