CocoaPods标题搜索

时间:2014-02-20 12:19:19

标签: objective-c xcode cocoapods

我遇到了一个看似非常基本的问题,那就是找不到头文件。下面是我创建的测试POD的基本目录结构,我的要求是保留目录结构,并且root和SubPods都可以访问头文件。为了保留我正在使用SubPods的目录结构,如果没有任何类对POD验证的其他类进行任何引用,并且结构是正确的。但是如果TSTSubClasses1.h包含TSTRootClass.h,则POD lint验证失败'致命错误:'TSTRootClass.h'文件未找到。

Classes/TSTRootClass.h
Classes/TSTRootClass.m
Classes/SubPod-1/TSTSubClass1.h
Classes/SubPod-1/TSTSubClass1.m
Classes/SubPod-2/TSTSubClass2.h   
Classes/SubPod-2/TSTSubClass2.m

我尝试过各种public_header_files,preserve_paths和amp;的组合。 s.xcconfig = {'HEADER_SEARCH_PATHS'=> '$ {PODS_ROOT} / **'}但没有运气。有没有解释如何解决搜索问题的地方,还有什么方法可以输出PATH细节吗?

下面详细介绍了podspec文件,源代码已被推送到repo,结构和文件确实存在。

Pod::Spec.new do |s|
  s.name                       = "PODTest"
  s.version                    = "0.1.0"
  s.summary                    = "PODTest dg dghjghj fghj ."
  s.description                = <<-DESC
                               sdfg sdfg adfg sdfgn of PODTest
                               DESC
  s.homepage                   = "http://myhomepage"
  s.license                    = 'MIT'
  s.author                     = { "Duncan Hill" => "myemail@somedomain.com" }
  #s.source                    = { :git => "git@bitbucket.org:reponame/podtest.git"}
  s.source                     = { :git => "git@bitbucket.org:reponame/podtest.git", :tag     => s.version.to_s }

  s.platform                   = :ios, '5.0'
  s.ios.deployment_target      = '5.0'
  s.requires_arc               = true
  #s.xcconfig                  = { 'HEADER_SEARCH_PATHS' => '${PODS_ROOT}/#{s.name}/**'}
  s.xcconfig                   = { 'HEADER_SEARCH_PATHS' => '${PODS_ROOT}/**'}

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

  s.subspec "SubPod-1" do |ss|
    ss.public_header_files = "Classes/*.h"
    ss.source_files        = "Classes/SubPod-1/*.{h,m}"
  end

  s.subspec "SubPod-2" do |ss|
    ss.public_header_files = "Classes/*.h"
    ss.source_files        = "Classes/SubPod-2/*.{h,m}"
  end

end  

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

您的子规格不能依赖于父规格,但可以依赖于其他子规格。您可能想要创建某种“核心”子规范,然后SubPod 1和2依赖于它。