CocoaPods podspec lint失败 - 找不到文件

时间:2013-09-12 02:34:31

标签: ios objective-c xcodebuild cocoapods

我正在尝试分发我的pod,但我遇到了验证问题。

当我试图抓住我的.podspec时,我得到了:

- ERROR | [iOS] [xcodebuild]  path/to/my/source/file.m:14:9: fatal error: 'KeyValueObjectMapping/DCKeyValueObjectMapping.h' file not found

我尝试使用不同的变体保存其框架的路径,例如

 s.preserve_paths = 'KeyValueObjectMapping.framework/*'

 s.preserve_paths = '${PODS_ROOT}/Vendor/KeyValueObjectMapping/KeyValueObjectMapping.framework'

&安培;其他变化,但这样我又得到一个错误:

    - ERROR | [iOS] The `preserve_paths` pattern did not match any file.

我还尝试过其他一些其他问题,比如:

  s.xcconfig = { 'HEADER_SEARCH_PATHS' => '"${PODS_ROOT}/Vendor/KeyValueObjectMapping/KeyValueObjectMapping.framework"','FRAMEWORK_SEARCH_PATHS' => '"$(PODS_ROOT)/Vendor/KeyValueObjectMapping/*"' }
  s.framework = 'KeyValueObjectMapping'

该项目使用Xcode5& amp;使用xcodebuild和它的默认设置,我只有在为Cocoapods验证它时才会遇到此问题。

1 个答案:

答案 0 :(得分:3)

我遇到了这个问题,尝试创建自定义Podspec并添加RevMobHeyzap SDK作为依赖项。

我一直收到以下错误:

- ERROR | [iOS] [xcodebuild]  MyProject/MyProjectSubDir/AnotherDir/CustomAd.h:10:9: fatal error: 'RevMobAds/RevMobAds.h' file not found
- ERROR | [iOS] [xcodebuild]  MyProject/MyProjectSubDir/AnotherDir/FacebookController.m:18:9: fatal error: 'RevMobAds/RevMobAds.h' file not found

然后,当我为RevMob指定FRAMEWORK_SEARCH_PATHS时,我会得到相同的错误,但是对于Heyzap的SDK。

我的解决方案是创建一个子规范并指定每个SDK的搜索路径,这些路径给我带来了问题。这里:

s.subspec "Heyzap" do |ss|
    ss.dependency "Heyzap", "~> 6.4.4"
    ss.xcconfig = { "FRAMEWORK_SEARCH_PATHS" => "$(PODS_ROOT)/Heyzap"}
end

s.subspec "RevMob" do |ss|
    ss.dependency "RevMob", "~> 7.4.8"
    ss.xcconfig = { "FRAMEWORK_SEARCH_PATHS" => "$(PODS_ROOT)/RevMob"}
end

我的pod spec lint现在正在运行&构建没有错误。