我正在为iPhone开发一款应用程序,并集成了Amazon SDK v 2.0.10来执行文件传输。
当我尝试集成最新的SDK v,即2.0.13时,我收到以下错误。请帮帮我。
Errors:
duplicate symbol _OBJC_IVAR_$_BFWebViewAppLinkResolverWebViewDelegate._didFailLoadWithError in:
Cryptall/Classes/Third Party Libraries/Amazon S3/frameworks/AWSiOSSDKv2.framework/AWSiOSSDKv2(BFWebViewAppLinkResolver.o)
Cryptall/Classes/Third Party Libraries/Amazon S3/third-party/Bolts.framework/Bolts(BFWebViewAppLinkResolver.o)
duplicate symbol _OBJC_IVAR_$_BFWebViewAppLinkResolverWebViewDelegate._hasLoaded in:
Cryptall/Classes/Third Party Libraries/Amazon S3/frameworks/AWSiOSSDKv2.framework/AWSiOSSDKv2(BFWebViewAppLinkResolver.o)
Cryptall/Classes/Third Party Libraries/Amazon S3/third-party/Bolts.framework/Bolts(BFWebViewAppLinkResolver.o)
duplicate symbol _OBJC_METACLASS_$_BFWebViewAppLinkResolverWebViewDelegate in:
Cryptall/Classes/Third Party Libraries/Amazon S3/frameworks/AWSiOSSDKv2.framework/AWSiOSSDKv2(BFWebViewAppLinkResolver.o)
Cryptall/Classes/Third Party Libraries/Amazon S3/third-party/Bolts.framework/Bolts(BFWebViewAppLinkResolver.o)
duplicate symbol _OBJC_CLASS_$_BFWebViewAppLinkResolverWebViewDelegate in:
Cryptall/Classes/Third Party Libraries/Amazon S3/frameworks/AWSiOSSDKv2.framework/AWSiOSSDKv2(BFWebViewAppLinkResolver.o)
Cryptall/Classes/Third Party Libraries/Amazon S3/third-party/Bolts.framework/Bolts(BFWebViewAppLinkResolver.o)
duplicate symbol _OBJC_METACLASS_$_BFWebViewAppLinkResolver in:
Cryptall/Classes/Third Party Libraries/Amazon S3/frameworks/AWSiOSSDKv2.framework/AWSiOSSDKv2(BFWebViewAppLinkResolver.o)
Cryptall/Classes/Third Party Libraries/Amazon S3/third-party/Bolts.framework/Bolts(BFWebViewAppLinkResolver.o)
duplicate symbol _OBJC_CLASS_$_BFWebViewAppLinkResolver in:
Cryptall/Classes/Third Party Libraries/Amazon S3/frameworks/AWSiOSSDKv2.framework/AWSiOSSDKv2(BFWebViewAppLinkResolver.o)
Cryptall/Classes/Third Party Libraries/Amazon S3/third-party/Bolts.framework/Bolts(BFWebViewAppLinkResolver.o)
duplicate symbol _kBFMultipleErrorsError in:
Cryptall/Classes/Third Party Libraries/Amazon S3/frameworks/AWSiOSSDKv2.framework/AWSiOSSDKv2(Bolts.o)
Cryptall/Classes/Third Party Libraries/Amazon S3/third-party/Bolts.framework/Bolts(Bolts.o)
duplicate symbol _OBJC_METACLASS_$_Bolts in:
Cryptall/Classes/Third Party Libraries/Amazon S3/frameworks/AWSiOSSDKv2.framework/AWSiOSSDKv2(Bolts.o)
Cryptall/Classes/Third Party Libraries/Amazon S3/third-party/Bolts.framework/Bolts(Bolts.o)
duplicate symbol _OBJC_CLASS_$_Bolts in:
Cryptall/Classes/Third Party Libraries/Amazon S3/frameworks/AWSiOSSDKv2.framework/AWSiOSSDKv2(Bolts.o)
Cryptall/Classes/Third Party Libraries/Amazon S3/third-party/Bolts.framework/Bolts(Bolts.o)
duplicate symbol _OBJC_METACLASS_$_PodsDummy_Pods_Bolts in:
Cryptall/Classes/Third Party Libraries/Amazon S3/frameworks/AWSiOSSDKv2.framework/AWSiOSSDKv2(Pods-Bolts-dummy.o)
Cryptall/Classes/Third Party Libraries/Amazon S3/third-party/Bolts.framework/Bolts(Pods-Bolts-dummy.o)
duplicate symbol _OBJC_CLASS_$_PodsDummy_Pods_Bolts in:
Cryptall/Classes/Third Party Libraries/Amazon S3/frameworks/AWSiOSSDKv2.framework/AWSiOSSDKv2(Pods-Bolts-dummy.o)
Cryptall/Classes/Third Party Libraries/Amazon S3/third-party/Bolts.framework/Bolts(Pods-Bolts-dummy.o)
ld: 212 duplicate symbols for architecture armv7s
答案 0 :(得分:3)
此错误消息表示在链接时在多个框架/目标中找到了具有相同名称的类。
在这种情况下,它主要抱怨Bolts框架中的类在主AWSiOSSDKv2.framework
和Bolts.framework
中找到。
我刚刚下载了适用于iOS的亚马逊SDK from here并对其进行了反编译,似乎确实包含了螺栓类(事实上,快速浏览似乎有其他三分之一的大多数类主AWS SDK中的派对框架。
这反对他们所说的integration documentation here
按照相同的步骤,将位于第三方目录中的以下框架添加到项目中。
这是亚马逊如何构建和分发SDK的错误。
目前您有两种可能的解决方法:
third-party
文件夹中的框架。它应该都是Just Work™我建议您联系亚马逊,以便为将来的用户报告此问题。