【问题标题】:CocoaPods 1.0.1 Redefinition of 'XYZ', Redefinition of enumerator 'ABC', Duplicate interface definition for 'MNO'CocoaPods 1.0.1 重新定义'XYZ',重新定义枚举器'ABC',重复定义'MNO'的接口
【发布时间】:2016-10-26 12:19:34
【问题描述】:

我正在将 CocoaPods (0.39.0) 升级到最新版本 (1.0.1) 并移动一些直接集成的框架(在主项目中复制而不是使用 CocoaPods-spec)。我正在使用 XCode (7.2.1)。

以下是 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

现在我正在尝试解决构建时的编译错误,这些错误与多次包含库有关。

  • 参考 CocoaPods 迁移指南http://blog.cocoapods.org/CocoaPods-1.0-Migration-Guide/
  • 尝试在完全清理 (cmd-alt-shift-k)、删除 pod 文件 (rm -rf Pods/ podfile.lock) 和删除 DerivedData 后重新编译。
  • 确保 Target->Build Phases->Link Binary with Libraries 中没有重复的 *.a 文件。在“pod install”后,“Pods_ABC_v2.framework”被添加到那里。
  • 删除了其他目标,例如 Widget 和扩展并在 podfile 中禁用了它们。
  • 有直接集成的evernote sdk (evernote-sdk-ios.xcodeproj),其中有EVSSKeychain.h/.m 文件,修改了带有EV 前缀的定义(EVSSKeychainErrorCode、EVSSKeychainErrorBadArguments 等)。截图如下:
  • 我相信上面的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”

请帮忙解决这些错误?

【问题讨论】:

    标签: xcode7 cocoapods xcode7.2


    【解决方案1】:

    已通过修改 SSKeychain.h 的导入语句修复此问题

    【讨论】:

    • 我也有同样的问题,请问您需要进行哪些修改?
    猜你喜欢
    • 2016-01-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多