3

在尝试使我的项目与 CocoaPods 一起工作之前,我的项目的目标将资源复制到一个文件夹结构中,例如:

Project.app/Resources/deps/javascript/*.js Project.app/Resources/deps/html/index.html

在我的代码中,我访问了以下资源:

NSString *javascriptDirectory = [[bundle pathForResource:@"main" 
                                                  ofType:@"js"                                                       
                                             inDirectory:@"deps/javascript"] stringByDeletingLastPathComponent];

在为项目创建 CocoaPod 规范时,我发现 CocoaPods 将资源转储到ProjectUsingCocoaPods.app/Resources文件夹中。

为了使我的项目与 CocoaPods 一起工作,我必须修改我的代码以将资源转储到Project.app/Resources文件夹中,并修改要使用的访问权限:

NSString *javascriptDirectory = [[bundle pathForResource:@"main" 
                                                  ofType:@"js"] stringByDeletingLastPathComponent];

我的项目现在可以通过 CocoaPods 使用,这很棒。

然而,它的资源被毫不客气地转储到Resources文件夹中,这很丑陋,因此不是那么好。

我的 CocoaPods 规范的相关部分:

我有一个 CocoaPods 规范文件,它指定了我的项目需要的一些资源:

Pod::Spec.new do |s|
  #...
  s.resource  = ['Project/Dependencies/*.js', 'Project/Dependencies/index.html']
  #...
end

我的问题是:是否可以指定 CocoaPods 应该将资源复制到的资源子目录?

4

1 回答 1

4

我发现将文件夹指定为资源只会在 Pods 项目中创建对该文件夹的引用:

s.resources  = "Project/Dependencies"

因此,没有任何通配符。Pods 项目将引用Dependencies文件夹及其所有内容和子文件夹。

于 2016-08-02T22:00:03.907 回答