主角:BKit
起因:庫間互相依賴 中坑爹的 BKit 需要 CocoaPods 發版了,開心。
經過:史詩巨坑之一,不知道誰在 podspec 裡拆分了無數個 subspec,還沒拆好(pod lib lint 通不過,程式碼引用沒處理好),導致 pod lib lint 的時間巨長(完整一次需要 45 分鐘接近一小時你敢信...我就這麼跟它玩了一天到下班前才找出原因把這一坨給刪了);然後接下來就是史詩巨坑之二,這工程和它的依賴引用了 Protobuf,這庫非常奇葩,依賴它的庫如果需要 CocoaPods 釋出,需要在 podspec 新增如下配置:
s.pod_target_xcconfig = {
# This is needed by all pods that depend on Protobuf:
'GCC_PREPROCESSOR_DEFINITIONS' => '$(inherited) GPB_USE_PROTOBUF_FRAMEWORK_IMPORTS=1',
# This is needed by all pods that depend on gRPC-RxLibrary:
'CLANG_ALLOW_NON_MODULAR_INCLUDES_IN_FRAMEWORK_MODULES' => 'YES'
}
複製程式碼
就這個,玩了倆小時...因為這東西是和 subspec 的問題在一起的,一開始不知道分別是啥原因,理了好久(一天),搞完了。
結論:如果以前的維護者都不在(不是掛了)了,那麼專案還是乾脆重寫好了。
如有任何智慧財產權、版權問題或理論錯誤,還請指正。
https://juejin.im/post/5a54c8d4f265da3e3b7a667a
轉載請註明原作者及以上資訊。