web-dev-qa-db-ja.com

Cocoapodspodspecにファイルを再帰的に含める

プライベートコードに基づいたローカルpodspecを作成したいと思います。 'source'属性が機能していないため、使用できないようです。 'source_files'属性を使用できますが、ファイルが再帰的に含まれていません。したがって、次のようなディレクトリを使用します

Library
  /src
    /Core
    /Audio
    /Graphics

そして私のpodspecは次のようになります:

Pod::Spec.new do |s|
  ...
  s.source = 'src' # this does not work.
  s.source_files = 'src' # this only includes the files in src, and not in any of the Core, Audio or Graphics folders.

'-r'フラグを指定したいのですが。ワイルドカードを使用してみましたが、うまくいきませんでした。

27
Ying

source_files属性は Rubyファイルグロブ構文 を使用します。パターンはプロジェクトのルート(つまり、podspecファイル)を基準にしている必要があるため、これでうまくいくはずです。

s.source_files = 'Library/src/**/*.{h,m}'

source属性は、ソースコードファイル用ではなく、コードを取得する必要のあるリモートリポジトリ(最も一般的にはGitリポジトリのURLとタグ)用です。詳細については、 CocoaPods仕様ドキュメント を参照してください。

35
Adam Sharp

CocoaPods[約]

spec.source_files = 'Classes/**/*.{h,m,Swift}', 'More_Classes/**/*.{h,m,Swift}'

ファイルパターン:

  • *-任意のファイルに一致します。
  • **-ディレクトリを再帰的に照合します。
  • ?-任意の1文字に一致します。
  • [set]-セット内の任意の1文字に一致します。
  • {p,q}-リテラルpまたはリテラルqのいずれかに一致します。
  • \-次のメタ文字をエスケープします。
1
yoAlex5

ファイルパターン

Podspecはリポジトリのルートに配置する必要があり、ファイルへのパスもリポジトリのルートを基準にして指定する必要があります。ファイルパターンには、次のワイルドカードパターンが含まれる場合があります。

  • *-任意のファイルに一致します。
  • **-ディレクトリを再帰的に照合します。
  • ?-任意の1文字に一致します。
  • [set]-セット内の任意の1文字に一致します。
  • {p,q}-リテラルpまたはリテラルqのいずれかに一致します。
  • \-次のメタ文字をエスケープします。

`source_files-ポッドのソースファイル。

spec.source_files = 'Classes/**/*.{h,m}', 'More_Classes/**/*.{h,m}'

続きを読む ここ

0
yoAlex5