CocoaPods 1.0.1 Переопределение "XYZ", Переопределение перечислителя "ABC", Повторяющееся определение интерфейса для "MNO"

Я обновляю CocoaPods (0.39.0) до последней версии (1.0.1) и перемещаю некоторые напрямую интегрированные фреймворки (скопированные в основной проект вместо использования CocoaPods-spec). Я использую XCode (7.2.1).

Ниже приведен подфайл, который используется с CocoaPods 1.0.1:

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 туда добавляется 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'

Пожалуйста, помогите с идеями, чтобы удалить эти ошибки?

1 ответ

Это было исправлено путем изменения операторов импорта для SSKeychain.h

Другие вопросы по тегам