Pod驗證報錯分析

錯誤描述:

pod lib lint 驗證通過,pod spec lint 驗證報錯:- ERROR | [iOS] file patterns: The `source_files` pattern did not match any file.

錯誤重現:

倉庫目錄結構:

 podspec文件位於項目根目錄下。

podspec中關於源碼的描述:

s.source_files  = "MWBase/BaseModule/**/*.{h,m}"

錯誤分析:

s.source_files中描述的爲相對路徑,但在pod lib lint 與 pod spec lint 時,所用的參照不一樣。pod lib lint 時,以podspec文件所在位置爲參照;pod spec lint 時,以Git倉庫的根目錄爲參照。

所以,在pod lib lint 時,該s.source_files的描述爲源碼相對於podspec文件的相對路徑,該描述正確;在pod spec lint 時,該s.source_files的描述應爲源碼相對於Git根目錄的相對路徑,該描述錯誤,所以報錯。

修復方案:

1、不同的驗證方案,使用不同的s.source_files 描述。

pod lib lint 時:

s.source_files  = "MWBase/BaseModule/**/*.{h,m}"

pod spec lint 時:

s.source_files  = "MWBase/MWBase/BaseModule/**/*.{h,m}"

2、推薦方案:移動podspec文件至Git根目錄下,並修改內容:

s.source_files  = "MWBase/MWBase/BaseModule/**/*.{h,m}"
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章