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