web-dev-qa-db-ja.com

.podspecエラー-source_files`パターンはどのファイルにも一致しませんでした

githubリポジトリの1つ (役立つ場合はここに完全なコード)をCocopodsと統合しています。pod spec lintを実行するとこのエラーが発生します。

 -> DropDownMenu (0.0.1)
  - ERROR | [iOS] The `source_files` pattern did not match any file.

これは私の.podspecに関連するコードで、問題を引き起こしていると思います。

例を見て herehere 、および here 、私は以下を試しました

s.source_files  = 'Classes/*.{h,m}'
s.source_files  = 'Classes/DropDownMenu.{h,m}'
s.source_files  = 'Classes'
s.source_files  = 'Classes/**/*.{h,m}'

s.source_filesフィールドは間違っていますか?または、.podspecで何か間違ったことをしましたか?これを修正するにはどうすればよいですか?

私の問題は この質問 に似ていますが、解決策はうまくいきません(コードはGithubで更新されます)。

33
Kevin

問題は、ポッドスペックがまだClassesフォルダーを持たないコミットを参照していることです。

つまり、このコミットにはまだクラスフォルダがありません https://github.com/kevinrandrup/DropDownMenu/tree/09c9b3d515b78550557eabc0a8542f9f6f2623cf

この問題は、最新のコミットを参照することで修正できます。つまり、podspecソースを次のように変更します。

s.source       = { :git => "https://github.com/kevinrandrup/DropDownMenu.git", :commit => "0d6761feefccff1f7d8b7c7788ceb8e9cd1314ea" }
s.source_files  = 'Classes/*.{h,m}'
51
Andy

CocoaPodsにバージョン1.1.0 RC3のpodspecファイルを自動的に生成させた後に、この問題が発生しました。

Podspecファイルの元の行は次のとおりです。

s.source_files = 'Pod/Classes/**/*'

次のように変更して修正しました。

s.source_files = 'NAME_OF_POD/Classes/**/*'
7
CodeBender

Gitタグを使用しました。私にとってはうまくいきました。

ステップ1:タグを追加する

git tag 1.0.2 && git Push Origin --tags

ステップ2:タグでソースを設定する

s.source       = { :git => "https://github.com/kevinrandrup/DropDownMenu.git", :tag => s.version }
s.source_files  = 'Classes/*.{h,m,Swift}'

タグはポッド仕様バージョンと同じでなければならないことに注意してください。

2
Lumialxk

2つの解決策:1.ソースペイロードにタグを指定2。ソースペイロードにコミット番号を指定します。

0
YoungJeXu

この問題が発生しました。適切な構成は次のとおりです。

s.source       = { :git => "https://github.com/kevinrandrup/DropDownMenu.git", :commit => "0d6761feefccff1f7d8b7c7788ceb8e9cd1314ea" }
s.source_files  = 'Classes/**/*.{h,m}'
0
Ryan Le

同じ問題がありました。その行を次のように変更して解決しました:

spec.source_files = "POD NAME/**/*"

0
0
Kiran Jasvanee

動作させるには3つのステップがあります。

1。source_filesに指定されたパスが正しいことを確認してください。

2。ソースフォルダーが空でないことを確認します。つまり、pod lib lintを実行する前に、いくつかのソースファイルを配置する必要があります。

リポジトリをGitにプッシュする前に、正しいタグを指定し、ソースファイルとtagをリモートサーバーにプッシュしたことを確認してください。

0
Ryan.Yuen