Заставить CocoaPods копировать ресурсы в определенную папку

Прежде чем пытаться заставить мой проект работать с 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 должны копировать ресурсы?


person Michael Robinson    schedule 31.01.2013    source источник


Ответы (1)


Я обнаружил, что указание папки в качестве ресурса просто создаст ссылку на эту папку в проекте Pods:

s.resources  = "Project/Dependencies"

Итак, никаких подстановочных знаков нет. Проект Pods будет иметь ссылку на папку Dependencies со всем ее содержимым и вложенными папками как есть.

person igagis    schedule 02.08.2016