錯誤描述:
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}"