保留文件夹结构Cocoa Pods

xar*_*rly 14 objective-c ios cocoapods

我用本教程创建了一个简单的私有pod:http://pablin.org/2013/05/18/cocoapods-for-internal-libraries/

事实上,我的回购只有一组课程

一切都好,我可以完美地安装我的吊舱.唯一的问题是所有文件都安装在主文件夹内,因此它不保留文件夹结构.

我有这个文件夹结构,名为:myRepository的存储库

 Classes 
 |
 ------ foo.h and foo.m
 ------ Controller Layer
        |
        ----------- foo2.h and foo2.m
 ------ ViewLayer
        |
        ----------- foo3.h and foo3.m
Run Code Online (Sandbox Code Playgroud)

所有文件都复制到名为myRepository的文件夹中.

这是我的podspec:

Pod::Spec.new do |s|

  s.name         = "fooClasses"
  s.version      = "0.0.1"
  s.summary      = "Common clases of foo"

  s.homepage     = "http://foo.com"

  s.license      = 'BSD'
  s.license      = { :type => 'Foo License', :file => 'LICENSE.txt' }

  s.author       = { "me" => "me@me.com" }

  s.platform     = :ios, '7.0'

  s.source       = { :git => "https://github.com/myRepository.git", :tag => "0.0.1" }

  s.source_files  = "**/*.{h,m}"

  s.requires_arc = true
end
Run Code Online (Sandbox Code Playgroud)

我试过s.preserve_path ="*"和s.preserve_path ="Classes"

任何的想法?

谢谢!!!!!!!!

xar*_*rly 15

好吧,我已经实现了使用subspec创建自己的文件夹.

您可以使用以下行创建子规范:

s.subspec 'folder name' do |ss|
    ss.source_files = 'files'
    ss.frameworks = 'frameworks'
end
Run Code Online (Sandbox Code Playgroud)

ss.frameworks不是必需的.

您可以从cocoaPods邮件列表中看到完整的答案:

https://groups.google.com/forum/#!topic/cocoapods/0kV8r2xnqA8

谢谢mcitrrus

我更喜欢按照AFNetworking pod规范:

https://github.com/AFNetworking/AFNetworking/blob/master/AFNetworking.podspec