5

刚才,我更新了我的 AWS SDK pod,对此我感到非常遗憾。我第一次看到这个是在更新 pod 时:

dyld:警告,LC_RPATH @executable_path/../../../../../../../SharedFrameworks 在 /Applications/Xcode.app/Contents/SharedFrameworks/DVTFoundation.framework/Versions/A/ ../../..//DVTInstrumentsFoundation.framework/Versions/A/DVTInstrumentsFoundation 在受限程序中被忽略,因为@executable_path dyld:警告,LC_RPATH @executable_path/../lib 在/Applications/Xcode.app/Contents/由于@executable_path,Frameworks/IDEFoundation.framework/Versions/A/../../../../Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/libclang.dylib 在受限程序中被忽略

dyld:警告,LC_RPATH @executable_path/../lib 在/Applications/Xcode.app/Contents/Frameworks/IDEFoundation.framework/Versions/A/../../../../Developer/Toolchains/XcodeDefault。由于@executable_path,xctoolchain/usr/lib/libLTO.dylib 在受限程序中被忽略

dyld:警告,/Applications/Xcode.app/Contents/PlugIns/Xcode3Core.ideplugin/Contents/MacOS/Xcode3Core 中的 LC_RPATH @executable_path/../Frameworks 由于@executable_path 而在受限程序中被忽略

然后当我打开我的项目并构建时,我遇到了很多构建失败,抱怨同样的事情Duplicate interface definition for class XXX

在此处输入图像描述

我尝试了很多解决方案,重新安装 AWS SDK pod,重新安装 cocoapods,将 cocoapods 降级到 0.38.2,将 AWS SDK pod 降级到 2.2.6,但没有任何帮助。如果我在 Objective-C 桥头中注释掉导入,我没有这些错误,但 Xcode 只是抱怨找不到代码中使用的某些类。但我不认为将它们注释掉是正确的解决方案。 在此处输入图像描述

好吧,我搜索了https://github.com/CocoaPods/CocoaPods/issues/4302,似乎是cocoapods的问题?

有人对此有任何想法吗?谢谢。

4

1 回答 1

3

回答(希望:))

  • 从桥接头中删除#import
  • 在适当的 Swift 文件中添加“import AWSS3”(或您需要的任何类)

解释

从 Cocoapods 0.36 版开始,如果 Pod 在 Swift 代码中或声明“use_frameworks!”,则不需要通过桥接头导入 Pod。(AWS 在他们的2.2.1版本中做到了

编辑

就我而言,我用“pod 'AWSS3', '~> 2.2.0'”替换了“pod 'AWSiOSSDKv2', '~> 2.0'”,并在桥接文件中添加了“#import”。

于 2015-10-17T18:56:16.883 回答