首页 > 解决方案 > dynamodb,MobileHub 不工作

问题描述

我按照这些文档使用 dynamoDB 设置了一个简单的应用程序: https ://docs.aws.amazon.com/aws-mobile/latest/developerguide/add-aws-mobile-nosql-database.html 和https://docs .aws.amazon.com/aws-mobile/latest/developerguide/getting-started.html#add-aws-mobile-sdk-basic-setup

然后作为测试,我使用提供的代码来创建(保存)一个项目。

一旦准备好运行应用程序,我会收到以下错误消息:

Amazon DynamoDB Save Error: Error Domain=com.amazonaws.AWSCognitoIdentityErrorDomain Code=0 "(null)" 
UserInfo={__type=com.amazon.coral.validate#ValidationException, message=Supplied AttributeValue is empty, 
must contain exactly one of the supported datatypes}

网上搜了下,发现有一个问题与 Swift 4 有关。解决方法似乎是在 AWS 自动生成的类前面加上@objcMembers 。

但对我来说它没有用。错误保持不变。我还尝试将 swift 版本设置为 3.3 而不是 4.1(我只有这两个版本),这也没有解决问题。

关于如何解决这个问题的任何想法?

标签: iosswiftamazon-web-servicesamazon-dynamodbaws-mobilehub

解决方案


对于将来遇到此问题的任何人,如果您使用的是 Swift 4 并已从 AWS Mobile Hub 下载了 swift 模型,请按照指南,然后在类定义行顶部添加 @objcMembers,如下所示。这对我有用。

import AWSDynamoDB

@objcMembers
class TableName: AWSDynamoDBObjectModel, AWSDynamoDBModeling {

推荐阅读