我用这个教程创建了一个简单的私有pod:http://pablin.org/2013/05/18/cocoapods-for-internal-libraries/
实际上我的repo只有一组类
一切都好,我可以完美地安装我的吊舱。唯一的问题是所有的文件都安装在主文件夹中,所以它不会保留文件夹结构。
我有这个文件夹结构,存储库名为:myRepository
Classes
|
------ foo.h and foo.m
------ Controller Layer
|
----------- foo2.h and foo2.m
------ ViewLayer
|
----------- foo3.h and foo3.m
所有文件都被复制到一个名为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
我已经尝试使用s.preserve_path =“*”和s.preserve_path =“Classes”
你知道吗?
谢谢!!!
3条答案
按热度按时间ippsafx71#
好吧,我已经实现了创建我自己的文件夹与subspec。
可以使用以下行创建子等级库:
ss.frameworks不是强制性的。
您可以从CocoaPods邮件列表中看到完整的答案:
https://groups.google.com/forum/#!topic/cocoapods/0kV8r2xnqA8
谢谢mcitrrus
我更喜欢遵循AFNetworking pod规范:
https://github.com/AFNetworking/AFNetworking/blob/master/AFNetworking.podspec
8iwquhpp2#
如果你经常使用开发pod,那么cocoapods创建的默认项目结构有很多问题:
source_files
/resources
等的根目录下没有至少一个文件,那么根目录在项目中不会获得等效的组。Frameworks
/Pods
/Dependencies
/Support Files
之前。我一直在寻找一个解决上述所有问题的解决方案,最终得出了以下结论:
前提条件
我使用如下目录结构设置我的pod(示例显示名为
SomeLib
的pod)第一步-组镜像目录层次
在你的
podspec
文件中,我们利用根目录中的空fix_project_structure
来修复组结构……步骤2 -重新排序和修复组位置
将以下
post_integrate
步骤添加到您的Podfile
中...oxcyiej73#
由于cocoapods的0.36版本中所做的更改,此答案/问题已过时。
PR 2647添加了默认的分组行为,只要你使用的是":path" pod。从1.3.1开始,它的行为是遍历/Classes/...结构,直到它看到一个文件或第二个子文件夹,并在. xcodeproj文件中从那里开始分组。