2014-02-20 59 views
0

我遇到什麼似乎一個非常基本的問題,就是不被人發現的頭文件。下面是我創建了一個測試POD一個基本的目錄結構,我的要求是保留目錄結構和根和SubPods有機會獲得頭文件。要保留目錄結構,我使用SubPods,如果沒有任何類引用POD驗證的其他類並且結構正確。但是,如果TSTSubClasses1.h包括TSTRootClass.h的POD皮棉驗證失敗「致命錯誤:‘未找到TSTRootClass.h’文件。的CocoaPods標題搜索

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 & s.xcconfig = { 'HEADER_SEARCH_PATHS'=> '$ {PODS_ROOT}/**'},但沒有運氣。有沒有解釋如何解決搜索問題的地方,也有任何輸出PATH細節的方法嗎?

下面詳細是podspec文件,源一直推到回購和結構和文件確實存在。

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" => "[email protected]" } 
    #s.source     = { :git => "[email protected]:reponame/podtest.git"} 
    s.source      = { :git => "[email protected]: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 

感謝您的任何幫助。

回答

0

您subspecs不能依賴於母公司的規格,但也依賴於其他subspecs。您可能想要創建某種「核心」subspec,然後有SubPod 1和2取決於此。

+0

非常感謝MishieMoo,我跟着你使用子規範的建議。不幸的是,pod spec lint命令需要10多分鐘才能驗證,我決定查看.podspec配置。我現在已經決定保留POD中的目錄結構沒有任何好處,它保留在bitbucket存儲庫中。 –