iOS cocoapods-packager 生成二進(jìn)制文件

cocoapods-packager是 cocoapods 的一個(gè)自動(dòng)化打包插件,可以用來(lái)打包生成動(dòng)態(tài)庫(kù)或靜態(tài)庫(kù),如果沒(méi)有的話使用以下命令安裝:

sudo gem install cocoapods-packager

部分參數(shù)配置:

//強(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
//不包含依賴(lài)的符號(hào)表,生成動(dòng)態(tài)庫(kù)的時(shí)候不能包含這個(gè)命令,動(dòng)態(tài)庫(kù)一定需要包含依賴(lài)的符號(hào)表。 
--exclude-deps
//表示生成的庫(kù)是debug還是release,默認(rèn)是
release。--configuration=Debug 
--configuration
//表示不使用name mangling技術(shù),pod package默認(rèn)是使用這個(gè)技術(shù)的。如果你的pod庫(kù)沒(méi)有其他依賴(lài)的話,那么不使用這個(gè)命令也不會(huì)報(bào)錯(cuò)。但是如果有其他依賴(lài),不使用--no-mangle這個(gè)命令的話,那么你在工程里使用生成的二進(jìn)制庫(kù)的時(shí)候就會(huì)報(bào)錯(cuò):Undefined symbols for architecture x86_64。
--no-mangle

創(chuàng)建靜態(tài)Framework

> pod package SAKit.podspec --force --embedded --spec-sources=ssh://git@192.168.6.115:7999/xdwios/saspecs.git

創(chuàng)建靜態(tài) .a 便是用 --library 替換 --embedded;

> pod package SAKit.podspec --force --library --spec-sources=ssh://git@192.168.6.115:7999/xdwios/saspecs.git

步驟

  1. 代碼庫(kù)打tag;
  2. 執(zhí)行 pod package 命令,并將生成的 framework 按指定目錄存放;
  3. 提交代碼并重新打tag(與第1步tag相同),先移除再添加;
  4. 提交版本至 repo 庫(kù);

通過(guò) pod-packager 生成的二進(jìn)制文件支持的指令集:armv7 armv7s i386 x86_64 arm64
經(jīng)測(cè)試發(fā)現(xiàn):cocoapods-packager打包生成的.a會(huì)將已用到的其他庫(kù)的文件打進(jìn)去;而采用xcodebuild編譯打包則不會(huì);

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容