在尝试让我的项目与 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];
Run Code Online (Sandbox Code Playgroud)
在为项目创建 CocoaPod 规范时,我发现 CocoaPods 将资源转储到该ProjectUsingCocoaPods.app/Resources文件夹中。
为了使我的项目能够与 CocoaPods 配合使用,我必须修改代码以将资源转储到Project.app/Resources文件夹中,并修改要使用的访问权限:
NSString *javascriptDirectory = [[bundle pathForResource:@"main"
ofType:@"js"] stringByDeletingLastPathComponent];
Run Code Online (Sandbox Code Playgroud)
我的项目现在可以通过 CocoaPods 使用,这很棒。
然而,它的资源被毫不客气地转储到Resources文件夹中,这很丑陋,因此不太好。
我的 CocoaPods 规范的相关部分:
我有一个 CocoaPods 规范文件,它指定了我的项目需要的一些资源:
Pod::Spec.new do |s|
#...
s.resource = ['Project/Dependencies/*.js', 'Project/Dependencies/index.html']
#...
end
Run Code Online (Sandbox Code Playgroud)
我的问题是:是否可以指定 CocoaPods 应将资源复制到的资源子目录?
我发现将文件夹指定为资源只会在 Pods 项目中创建对该文件夹的引用:
s.resources = "Project/Dependencies"
Run Code Online (Sandbox Code Playgroud)
因此,没有任何通配符。Pods 项目将引用Dependencies文件夹及其所有内容和子文件夹。
| 归档时间: |
|
| 查看次数: |
4534 次 |
| 最近记录: |