CocoaPods 1.0.1'XYZ'的重新定义,枚举器'ABC'的重新定义,'MNO'的重复接口定义
问题描述:
我正在将CocoaPods(0.39.0)升级到最新版本(1.0.1)并将一些直接集成的框架(在主项目中复制而不是使用CocoaPods-spec)。我正在使用XCode(7.2.1)。CocoaPods 1.0.1'XYZ'的重新定义,枚举器'ABC'的重新定义,'MNO'的重复接口定义
下面是使用的CocoaPods 1.0.1 podfile:多次
platform :ios, '8.0'
target 'ABC-v2' do
# use_framework is required for dynamic frameworks integration.
use_frameworks!
pod 'SSKeychain', '~>1'
pod 'Mantle', '~>1'
pod 'GoogleAPIClient/Drive', '~>1'
pod 'GTMOAuth2', '~>1'
pod 'GTMSessionFetcher'
pod 'libextobjc/EXTScope', '~>0.4'
pod 'Typhoon', '~>3'
# swift framework test, would need this eventually.
#pod 'Alamofire', '~>3'
# PSPDFKit - 5.8.3
pod 'PSPDFKit', podspec:'https://customers.pspdfkit.com/cocoapods/.../latest.podspec'
#disabled it temporarily to separate out xcode build error.
#target :SSS do
# pod 'ABC-iOS-SDK', :path => 'submodules/abc-ios-sdk'
#end
#disabled it temporarily to separate out xcode build error.
#target :TW do
# pod 'ABC-iOS-SDK', :path => 'submodules/abc-ios-sdk'
#end
target :ABCTests do
inherit! :search_paths
pod 'OCMock', '~> 3'
pod 'OCMockito', '~> 1'
pod 'VCRURLConnection', '~> 0.2', :inhibit_warnings => true
end
end
现在我试图解决在编译生成,这是有关库的错误得到包括。
- 在http://blog.cocoapods.org/CocoaPods-1.0-Migration-Guide/
- 试图完成清洁(CMD-ALT-移-K)之后重新编译简称的CocoaPods迁移指南,除去荚文件(室射频荚/ podfile.lock)&删除DerivedData。
- 确保在Target-> Build Phases-> Link Binary with Libraries中没有重复的* .a文件。在'pod安装'时,在那里添加“Pods_ABC_v2.framework”。
- 删除其他目标,例如Widget和扩展&,也禁用它们在podfile中。
- 有直接集成的evernote sdk(evernote-sdk-ios.xcodeproj),它具有带EV前缀(EVSSKeychainErrorCode,EVSSKeychainErrorBadArguments等)的修改定义的EVSSKeychain.h/.m文件。屏幕截图如下:
- 我相信上面的evernote sdk不会导致我得到的错误;我可以尝试删除evernote sdk(直接集成),但我不确定吗?在编译时
错误:
-
/path../Pods/SSKeychain/Sources/SSKeychain.h:65:1:类 'SSKeychain'
重复的接口定义 /path../Pods/SSKeychain/Sources/SSKeychain.h:22:27: 'SSKeychainErrorCode' 的重新定义
- 个
/path../Pods/SSKeychain/Sources/SSKeychain.h:24:2:枚举的重新定义 'SSKeychainErrorBadArguments'
请与想法帮助消除这些错误?
答
通过修改SSKeychain.h的导入语句修复了这个问题