0

有没有人使用 iOS SDK 2 使用Amazon Web Services (AWS)。我知道根据 Amazon SDK Team,

适用于 iOS 的 AWS 移动开发工具包版本 2 已全面上市 (GA),不再提供开发人员预览版。版本 1 自 2014 年 9 月 29 日起弃用,并将在我们的 aws-sdk-ios-v1 存储库中继续提供到 2014 年 12 月 31 日。如果您正在构建新应用程序,我们建议您使用版本 2。

因此,我正在尝试使用 AWS iOS SDK 的更新版本 (2.0) 升级应用程序。根据 [示例应用程序,它需要以下身份验证作为凭据,

NSString *const AWSAccountID = @"Your-AccountID";
NSString *const CognitoPoolID = @"Your-PoolID";
NSString *const CognitoRoleAuth = nil;
NSString *const CognitoRoleUnauth = @"Your-RoleUnauth";

我已经用控制台上可用的一些值填充了它。但是,一直在获取以下日志,

2014-10-17 18:33:04.056 S3TransferManagerSample[5343:70b] __37-[SecondViewController downloadFiles]_block_invoke154 Error: [Error Domain=com.amazonaws.AWSSTSErrorDomain Code=0 "The operation couldn’t be completed. (com.amazonaws.AWSSTSErrorDomain error 0.)" UserInfo=0x7b028500 {Type=Sender, Message=Not authorized to perform sts:AssumeRoleWithWebIdentity, __text=(
    "\n    ",
    "\n    ",
    "\n    ",
    "\n  "
), Code=AccessDenied}]

在哪里可以正确获取这些凭据,没有适当的指南和文档来获取这些凭据。甚至没有在Amazon Cognito 控制台上正确解释以获得这些信用。

以前有没有人这样做过,请指导我得到这个。

非常感谢

4

1 回答 1

3

您需要创建一个 Cognito 身份池来获取该信息。

  1. 去这里https://console.aws.amazon.com/cognito/home?region=us-east-1
  2. 单击新建身份池
  3. 完成向导的 3 个步骤以创建身份池
  4. 它也会显示更新常量所需的值。

如果您已经创建了身份池,您应该能够从控制台获取身份池 ID 和您的 aws 帐户 ID。帐户 ID 在这里:https ://console.aws.amazon.com/iam/home? #security_credential(不包括连字符),您可以通过单击您创建的角色获取您创建的角色的角色 arns在这里:https ://console.aws.amazon.com/iam/home?#roles

此外,请务必遵循设置指南中的所有步骤:http: //docs.aws.amazon.com/mobile/sdkforios/developerguide/setup.html

特别是这个:

将位于 service-definitions 目录中的以下 JSON 文件拖放到您的项目中。

autoscaling-2011-01-01.json
cib-2014-06-30.json
css-2014-06-30.json
dynamodb-2012-08-10.json
ec2-2014-06-15.json
elasticloadbalancing-2012-06-01.json
email-2010-12-01.json
kinesis-2013-12-02.json
mobileanalytics-2014-06-30.json
monitoring-2010-08-01.json
s3-2006-03-01.json
sdb-2009-04-15.json
sns-2010-03-31.json
sqs-2012-11-05.json
sts-2011-06-15.json

如果不执行此步骤,您将收到神秘的错误消息。

于 2014-10-17T17:22:43.667 回答