具有依赖项的私有 CocoaPod 规范找不到依赖项

Private CocoaPod Spec with Dependency Cannot Find Dependency

我正在尝试部署私有 CocoaPod,但我 运行 陷入框架依赖关系图的一个令人费解的问题。我无法让我的代码从其依赖项之一 - RestKit 中找到必要的 class,具体来说。

我先运行 pod lib create 创建框架,然后在其.podpsec 文件中添加RestKit 作为私有CocoaPod 的依赖项。一切似乎都工作正常,直到我在 RestKit 中引用了一个特定的 class,除非我使用 @import 语句,否则它似乎找不到。

我已经尝试了以下所有包含,并且 none 有效:

#import <RestKit/RestKit.h>
#import <RestKit/ObjectMapping.h>
#import <RestKit.h>
#import <ObjectMapping.h>
#import "RestKit.h"
#import "ObjectMapping.h"

唯一有效的是 @import RestKit.ObjectMapping。但是,使用此 import/include 语句会导致 pod lib lint 失败,因为它找不到 RestKit。我对在这里还可以尝试什么感到有点困惑。我已经重新制作了 podspec 项目,并且我已经尝试了所有的包含。还有其他人 运行 关注这个问题吗?

编辑:

下面是我的 podspec。

Pod::Spec.new do |s|

    s.name             = "MyAPI"
    s.version          = "0.1.4"
    s.summary          = "My summary here."

    s.description      = <<-DESC
                        My description here.
                       DESC

    s.homepage         = "http://example.com"

    s.license          = 'None'
    s.author           = { "Sean Olszewski" => "sean@somewebsite.com" }
    s.source           = { :git => "ssh://username@myprivateserver/path/to/private/pod/repo", :tag => s.version.to_s }


    s.platform     = :ios, '7.0'
    s.requires_arc = true

    s.source_files = 'Pod/Classes/**/*'
    s.resource_bundles = {
        'MyAPI' => ['Pod/Assets/*.png']
    }

    s.public_header_files = 'Pod/Classes/**/*.h'
    s.dependency 'RestKit', '~> 0.25.0'
    s.dependency 'RKValueTransformers'

end

您应该为您的 Pod 指定一个 version 和一个 development target

s.ios.deployment_target = '7.0'
s.platform = :ios, '7.0'

此外,您还必须更改代码中的导入语句,因为它将被解释为 modulepod file 中的 use_frameworks!),这就是为什么您不能不再使用 #import

如果您 运行 进入“non modular include”,您将在 Podspec:

中设置 属性
s.xcconfig = { 'CLANG_ALLOW_NON_MODULAR_INCLUDES_IN_FRAMEWORK_MODULES' => 'YES'}