刚才,我更新了我的 AWS SDK pod,对此我感到非常遗憾。我第一次看到这个是在更新 pod 时:
dyld: warning, LC_RPATH @executable_path/../../../../../../../SharedFrameworks in /Applications/Xcode.app/Contents/SharedFrameworks/DVTFoundation.framework/Versions/A/../../..//DVTInstrumentsFoundation.framework/Versions/A/DVTInstrumentsFoundation being ignored in restricted program because of @executable_path dyld: warning, LC_RPATH @executable_path/../lib in /Applications/Xcode.app/Contents/Frameworks/IDEFoundation.framework/Versions/A/../../../../Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/libclang.dylib being ignored in restricted program because of @executable_path
dyld: warning, LC_RPATH @executable_path/../lib in /Applications/Xcode.app/Contents/Frameworks/IDEFoundation.framework/Versions/A/../../../../Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/libLTO.dylib being ignored in restricted program because of @executable_path
dyld: warning, LC_RPATH @executable_path/../Frameworks in /Applications/Xcode.app/Contents/PlugIns/Xcode3Core.ideplugin/Contents/MacOS/Xcode3Core being ignored in restricted program because of @executable_path
然后当我打开我的项目并构建时,我遇到了很多很多构建失败,提示同样的事情 类 XXX 的重复接口(interface)定义 :
我尝试了很多解决方案,重新安装 AWS SDK pods,重新安装 cocoapods,将 cocoapods 降级到 0.38.2,将 AWS SDK pods 降级到 2.2.6,但没有任何帮助。如果我注释掉 Objective-C 桥头中的导入,我没有这些错误,但 Xcode 只是提示找不到代码中使用的某些类。但我不认为将它们注释掉是正确的解决方案。
好吧,我搜索了https://github.com/CocoaPods/CocoaPods/issues/4302 ,这似乎是 cocoapods 的问题?
有人对此有任何想法吗?谢谢。
最佳答案
回答(希望:))
解释
从 Cocoapods 0.36 版开始,如果 Pod 在 Swift 代码中或声明“use_frameworks!”,则不需要通过桥接头导入 Pod。 (AWS 在其版本中所做的 2.2.1
编辑
就我而言,我用“pod 'AWSS3', '~> 2.2.0'”替换了“pod 'AWSiOSSDKv2', '~> 2.0'”,并在桥接文件中添加了“#import”。
关于cocoapods - 所有 AWS 开发工具包(El Capitan + XCode 7)的 pod 更新结果为 "duplicate interface definition for class xxx",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33180650/