pod package 生成 Framework
pod package 是 cocoapods 的一個插件,如果沒有的話使用以下命令安裝:
sudo gem install cocoapods-packager
pod package 是根據 .podspec 描述文件來生成二進制庫
例子(生成動態庫):
pod package AFPodSpec.podspec --force --dynamic --no-mangle --spec-sources=https://github.com/CocoaPods/Specs.git
命令參數
//強制覆蓋之前已經生成過的二進制庫 --force //生成靜態.framework --embedded //生成靜態.a --library //生成動態.framework --dynamic //動態.framework是需要簽名的,所以只有生成動態庫的時候需要這個BundleId --bundle-identifier //不包含依賴的符號表,生成動態庫的時候不能包含這個命令,動態庫一定需要包含依賴的符號表。 --exclude-deps //表示生成的庫是debug還是release,默認是release。--configuration=Debug --configuration --no-mangle //表示不使用name mangling技術,pod package默認是使用這個技術的。我們能在用pod package生成二進制庫的時候會看到終端有輸出Mangling symbols和Building mangled framework。表示使用了這個技術。 //如果你的pod庫沒有其他依賴的話,那么不使用這個命令也不會報錯。但是如果有其他依賴,不使用--no-mangle這個命令的話,那么你在工程里使用生成的二進制庫的時候就會報錯:Undefined symbols for architecture x86_64。 --subspecs //如果你的pod庫有subspec,那么加上這個命名表示只給某個或幾個subspec生成二進制庫,--subspecs=subspec1,subspec2。生成的庫的名字就是你podspec的名字,如果你想生成的庫的名字跟subspec的名字一樣,那么就需要修改podspec的名字。 這個腳本就是批量生成subspec的二進制庫,每一個subspec的庫名就是podspecName+subspecName。 --spec-sources //一些依賴的source,如果你有依賴是來自於私有庫的,那就需要加上那個私有庫的source,默認是cocoapods的Specs倉庫。--spec-sources=private,https://github.com/CocoaPods/Specs.git。
參考文件
https://www.jianshu.com/p/611049483be4
第三個主要參考