我试图部署一个私有的CocoaPod,而且我遇到了一个令人困惑的问题,我的框架的依赖图。我无法让我的代码从其中一个依赖项中找到一个必要的类 - RestKit,具体而言。
我首先运行pod lib create
来创建框架,然后将RestKit添加为其.podpsec
文件中私有CocoaPod的依赖项。在我引用RestKit中的一个特定类之前,一切似乎都工作正常,除非我使用@import
语句,否则它似乎无法找到。
我已经尝试了以下所有内容,但没有一个可以使用:
#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
答案 0 :(得分:1)
您应为version
指定development target
和Pod
。
s.ios.deployment_target = '7.0'
s.platform = :ios, '7.0'
此外,您必须更改代码中的import语句,因为它将被解释为module
(use_frameworks!
中的pod file
),这就是您无法使用的原因#import
了。
如果您遇到“non modular include
”,则需要在Podspec
中设置该属性:
s.xcconfig = { 'CLANG_ALLOW_NON_MODULAR_INCLUDES_IN_FRAMEWORK_MODULES' => 'YES'}