обновление модуля приводит к дублированию определения интерфейса для класса xxx для всех AWS SDK (El Capitan + XCode 7)

Только что я обновил свои модули AWS SDK, о чем очень пожалел. Я впервые увидел это, когда обновлялись модули:

dyld: предупреждение, LC_RPATH @executable_path/../../../../../../../SharedFrameworks в /Applications/Xcode.app/Contents/SharedFrameworks/DVTFoundation.framework/Versions/A/ ../../..//DVTInstrumentsFoundation.framework/Versions/A/DVTInstrumentsFoundation игнорируется в ограниченной программе из-за dyld @executable_path: предупреждение, LC_RPATH @executable_path/../lib в /Applications/Xcode.app/Contents/ Frameworks/IDEFoundation.framework/Versions/A/../../../../Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/libclang.dylib игнорируется в программе с ограниченным доступом из-за @executable_path

dyld: предупреждение, LC_RPATH @executable_path/../lib в /Applications/Xcode.app/Contents/Frameworks/IDEFoundation.framework/Versions/A/../../../../Developer/Toolchains/XcodeDefault. xctoolchain/usr/lib/libLTO.dylib игнорируется в программе с ограниченным доступом из-за @executable_path

dyld: предупреждение, LC_RPATH @executable_path/../Frameworks в /Applications/Xcode.app/Contents/PlugIns/Xcode3Core.ideplugin/Contents/MacOS/Xcode3Core игнорируется в ограниченной программе из-за @executable_path

Затем, когда я открыл свой проект и выполнил сборку, я получил очень много сбоев при сборке, жалуясь на одно и то же Повторяющееся определение интерфейса для класса XXX:

введите здесь описание изображения

Я перепробовал множество решений, переустановил модули AWS SDK, переустановил Cocopods, понизил версию Cocopods до 0.38.2, понизил версии AWS SDK pods до 2.2.6, но ни одно из них не помогает. Если я закомментирую импорт в заголовке моста Objective-C, у меня не будет этих ошибок, но Xcode просто жалуется на то, что не находит некоторые классы, используемые в кодах. Но я не думаю, что комментировать их - правильное решение. введите здесь описание изображения

Что ж, я искал https://github.com/CocoaPods/CocoaPods/issues/4302, и мне кажется, может быть проблема с кокоаподами?

У кого-нибудь есть идеи по этому поводу? Спасибо.


person leonard    schedule 16.10.2015    source источник


Ответы (1)


Ответить (надеюсь :))

  • удалите #import из заголовка моста
  • добавьте «импорт AWSS3» (или любой другой класс, который вам нужен) в соответствующие файлы Swift.

Пояснение

Начиная с версии 0.36 Cocoapods, вам не нужно импортировать модули через заголовок моста, если они находятся в коде Swift ИЛИ если они объявляют «use_frameworks!» (что AWS сделал в своей версии 2.2.1

Изменить

В моем случае я заменил «pod 'AWSiOSSDKv2', '~> 2.0'» на «pod 'AWSS3', '~> 2.2.0'» и добавил «#import» в файл моста.

person Arnaud    schedule 17.10.2015
comment
Да, я тоже узнаю. Спасибо! - person leonard; 17.10.2015