31

我想创建一个基于一些私有代码的本地 podspec。我似乎无法使用“源”属性,因为它不起作用。我可以使用“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'标志。我试过使用通配符,但没有运气。

4

2 回答 2

44

source_files属性使用Ruby 文件 glob 语法。该模式必须相对于您项目的根目录(即 podspec 文件),所以这应该适合您:

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

source属性不适用于源代码文件,而是用于应从中检索代码的远程存储库(最常见的是 Git 存储库 URL 和标记)。有关更多信息,请参阅CocoaPods 规范文档

于 2013-09-03T22:40:35.937 回答
6

CocoaPods 源文件

[可可豆]

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

文件模式:

  • *- 匹配任何文件。
  • **- 递归匹配目录。
  • ?- 匹配任何一个字符。
  • [set]- 匹配集合中的任何一个字符。
  • {p,q}- 匹配文字 p 或文字 q。
  • \- 转义下一个元字符。
于 2019-12-09T22:49:02.717 回答