Pod验证报错分析

错误描述:

pod lib lint 验证通过,pod spec lint 验证报错:- ERROR | [iOS] file patterns: The `source_files` pattern did not match any file.

错误重现:

仓库目录结构:

Pod验证报错分析_第1张图片

 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}"

你可能感兴趣的:(iOS)