ios – Cocoapods:重复的界面定义

前端之家收集整理的这篇文章主要介绍了ios – Cocoapods:重复的界面定义前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我把我的私人图书馆包裹在椰子树中.它依赖于Reactive Cocoa.
s.name =  'MineLibrary'
s.dependency 'ReactiveCocoa/Core'
s.source_files = 'Source/*.{h,m,swift}'
....

一些头文件包含:

#import <ReactiveCocoa/RACSignal.h>

我把它包括在一个新的项目中:

use_frameworks!
....
pod 'ReactiveCocoa'
pod 'MineLibrary',:git => 'git@.....'

但是当我编译项目我收到一个错误

duplicate interface definition for class 'RACStream'
duplicate interface definition for class 'RACSignal'


/Users/USER/Library/Developer/Xcode/DerivedData/Project-emcwpmbbuimotuftzijeemvngrvj/Build/Products/Debug-iphoneos/Pods/ReactiveCocoa.framework/Headers/RACStream.h:27:1: error: duplicate interface definition for class 'RACStream'

@interface RACStream : NSObject
^
/Users/USER/Workspace/Project/Pods/ReactiveCocoa/ReactiveCocoa/RACStream.h:27:12: note: prevIoUs definition is here
@interface RACStream : NSObject

怎么可以解决
附:我正在使用椰子油0.36.0.rc.1

解决方法

尝试更新到最新版本的CocoaPods?我注意到你提到你在使用过时的发布候选人,这可能是错误的.

一般来说,在应用程序中创建和使用CocoaPod时,您需要执行以下操作:

1)在您的CocoaPod中,在pod规范中声明所有的依赖项,对每个使用s.dependency

2)在您的应用程序中,使用CocoaPods来管理所有的应用依赖项.也就是说,不要手动将库拖放到应用程序中.如果这样做,您可能会冒用创建重复类的风险.

3)在您的应用程序和CocoaPod中,尽可能依赖于灵活的版本.一般来说,您至少应该允许次要版本更新,例如pod’PodName’,’〜> 1.0.0′ .

4)在您的应用程序的pod文件中,指定应用程序和单元测试目标的目标,例如

target "MyApp" do
  # App pods...
end

target "MyAppTests",:exclusive => true do
  # Test pods...
end

如果您有两个以上的目标,请为每个目标指定目标.或者,至少指定单元测试的不同目标,这将使应用程序注入它.

猜你在找的iOS相关文章