7

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

当我试图对我的 .podspec 进行 lint 时,我得到:

- 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 和默认设置的 xcodebuild 构建良好,我只有在为 Cocoapods 验证它时才会遇到这个问题。

4

1 回答 1

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现在运行和构建没有错误。

于 2014-05-04T14:34:50.697 回答