【问题标题】:AWS SDK for iOS: problems with conversion from Swift 2 to Swift 3适用于 iOS 的 AWS 开发工具包:从 Swift 2 到 Swift 3 的转换问题
【发布时间】:2017-01-13 10:22:05
【问题描述】:

我已经下载了适用于 iOS 示例的 AWS SDK 并在 XCode 8 中打开它们。不幸的是,由于从 Swift 3 转换,出现了很多编译器错误。我修复了其中的大部分但仍然有一些功能需要修复。

我很惊讶亚马逊没有使用 Swift 3 的官方示例。

  • 您的方法是什么?
  • 您是否继续修复所有这些错误,或者您是否找到了 Swift 3 的示例?

我对存储库的这个子部分特别感兴趣: https://github.com/awslabs/aws-sdk-ios-samples/tree/master/S3TransferUtility-Sample/Swift/

编辑:

我正在测试项目的 Objective-C 版本作为概念证明。 不幸的是,当我运行它时,我收到以下错误:

Connection = "keep-alive";
"Content-Length" = 451;
"Content-Type" = "application/x-amz-json-1.1";
Date = "Fri, 13 Jan 2017 15:59:58 GMT";
"x-amzn-ErrorMessage" = "2 validation errors detected: Value 'arn:aws:cognito-idp:eu-west-1:99999999999:userpool/eu-west-1_XXXXXXXXX' at 'identityPoolId' failed to satisfy constraint: Member must have length less than or equal to 55; Value 'arn:aws:cognito-idp:eu-west-1:99999999999:userpool/eu-west-1_XXXXXXXXX' at 'identityPoolId' failed to satisfy constraint: Member must satisfy regular expression pattern

这让我感到困惑,因为我以为我在 Info.plist 文件中正确配置了身份池。

见下文(池的详细信息部分隐藏,但与数据库管理员给我的相同)。

你知道为什么会这样吗?

文字消息说 identityPoolId' 未能满足约束,但我不相信这一点。可能是服务器端缺少一些配置。

不幸的是,文档不完整,我现在有点迷茫(感觉像是在浪费时间)。

【问题讨论】:

  • 是的,亚马逊提供的最差文档没有可用的好文档。我们必须独自行走,必须解决这些错误。我以前在 s3 中解决了这些类型的错误:(
  • 我添加了一个 EDIT.. 你能仔细检查一下你是否遇到了类似的问题吗?

标签: ios swift amazon-web-services swift3 code-conversion


【解决方案1】:

您的身份池 ID 应采用以下格式:.. eu-west-1:xxxxxxxxxx

【讨论】:

  • 谢谢。我已经尝试过这种格式但不起作用..屏幕截图具有欺骗性(我在其中放置了不正确的详细信息以保护真实身份)
  • 您尝试使用的格式是什么?因为验证错误是你指定的IdentityPoolID格式错误。
猜你喜欢
  • 1970-01-01
  • 2017-02-11
  • 2016-12-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多