githubリポジトリの1つ (役立つ場合はここに完全なコード)をCocopodsと統合しています。pod spec lint
を実行するとこのエラーが発生します。
-> DropDownMenu (0.0.1)
- ERROR | [iOS] The `source_files` pattern did not match any file.
これは私の.podspec
に関連するコードで、問題を引き起こしていると思います。
例を見て here 、 here 、および 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で更新されます)。
問題は、ポッドスペックがまだ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}'
CocoaPodsにバージョン1.1.0 RC3のpodspecファイルを自動的に生成させた後に、この問題が発生しました。
Podspecファイルの元の行は次のとおりです。
s.source_files = 'Pod/Classes/**/*'
次のように変更して修正しました。
s.source_files = 'NAME_OF_POD/Classes/**/*'
Gitタグを使用しました。私にとってはうまくいきました。
git tag 1.0.2 && git Push Origin --tags
s.source = { :git => "https://github.com/kevinrandrup/DropDownMenu.git", :tag => s.version }
s.source_files = 'Classes/*.{h,m,Swift}'
タグはポッド仕様バージョンと同じでなければならないことに注意してください。
2つの解決策:1.ソースペイロードにタグを指定2。ソースペイロードにコミット番号を指定します。
この問題が発生しました。適切な構成は次のとおりです。
s.source = { :git => "https://github.com/kevinrandrup/DropDownMenu.git", :commit => "0d6761feefccff1f7d8b7c7788ceb8e9cd1314ea" }
s.source_files = 'Classes/**/*.{h,m}'
同じ問題がありました。その行を次のように変更して解決しました:
spec.source_files = "POD NAME/**/*"
ポッドのバージョン番号を変更することで問題を解決しました。 ERROR |で答えを確認してください[iOS]ファイルパターン: `source_files`パターンはどのファイルにも一致しませんでした
動作させるには3つのステップがあります。
1。source_files
に指定されたパスが正しいことを確認してください。
2。ソースフォルダーが空でないことを確認します。つまり、pod lib lint
を実行する前に、いくつかのソースファイルを配置する必要があります。
。リポジトリをGitにプッシュする前に、正しいタグを指定し、ソースファイルとtag
をリモートサーバーにプッシュしたことを確認してください。