Amazon Latest SDK 与 iOS 的集成给出了错误
Amazon Latest SDK integration with iOS gives error
我正在为 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
此错误消息表示 class 在 link 时间在您的多个框架/目标中发现了同名的 class。
在这种情况下,它主要抱怨来自 Bolts 框架的 classes 在主要 AWSiOSSDKv2.framework
和 Bolts.framework
.
中被发现
我刚刚下载了 iOS from here 的 Amazon SDK 并对其进行了反编译,它似乎确实包含了 Bolts classes(实际上是快速浏览似乎在主要的 AWS SDK 中包含其他第三方框架的大部分 classes。
这确实违背了他们integration documentation here他们所说的
Following the same procedure, add the following frameworks, located in the third-party directory, into your project.
这是亚马逊如何构建和分发其 SDK 的错误。
您现在有两个可能的修复方法:
- 从您的项目中删除
third-party
文件夹中的框架。它应该都是 Just Work™
- 按照上述指南中的说明使用 Cocoapods 安装 AWS SDK。
我建议您联系亚马逊,为未来的用户报告此问题。
我正在为 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
此错误消息表示 class 在 link 时间在您的多个框架/目标中发现了同名的 class。
在这种情况下,它主要抱怨来自 Bolts 框架的 classes 在主要 AWSiOSSDKv2.framework
和 Bolts.framework
.
我刚刚下载了 iOS from here 的 Amazon SDK 并对其进行了反编译,它似乎确实包含了 Bolts classes(实际上是快速浏览似乎在主要的 AWS SDK 中包含其他第三方框架的大部分 classes。
这确实违背了他们integration documentation here他们所说的
Following the same procedure, add the following frameworks, located in the third-party directory, into your project.
这是亚马逊如何构建和分发其 SDK 的错误。
您现在有两个可能的修复方法:
- 从您的项目中删除
third-party
文件夹中的框架。它应该都是 Just Work™ - 按照上述指南中的说明使用 Cocoapods 安装 AWS SDK。
我建议您联系亚马逊,为未来的用户报告此问题。