https://github.com/CocoaPods/cocoapods-packager
主要解決問題
- 通過podspec打包出.a或者.framework,提供給不使用cocoapods或者不方便暴露源碼的場景
- 解決通過不同的方式添加相同的第三方導致的沖突
使用
參考文檔
pod package --help
pod package NAME [SOURCE]
// 參數說明
--force
輸出結果強制覆蓋原有結果
--library
默認輸出結果為framework,可以使用--library指定輸出為.a
--no-mangle
對于podspec中通過spec.dependency 'XXXXX'指定的依賴,默認會添加類名前綴。
通過--no-mangle,可以指定不添加類名前綴。
添加前綴和不添加前綴的區(qū)別:
// 添加前綴
NSLog(@"%s",object_getClassName([AFNetworkReachabilityManager sharedManager]));
PodXXXXX_AFNetworkReachabilityManager
// 不添加前綴
NSLog(@"%s",object_getClassName([AFNetworkReachabilityManager sharedManager]));
AFNetworkReachabilityManager
--embedded
生成Embedded Framework,iOS 8后開發(fā)者可以創(chuàng)建動態(tài)庫,但是這個動態(tài)庫和系統(tǒng)存在區(qū)別,
必須嵌入到程序中,因為稱之為Embedded Framework。