Чтобы настроить систему на AWS
, где можно создавать и использовать учетные записи пользователей из приложения iOS, я недавно следовал этому руководству .Он использует AWSMobileClient
, AWSAuthCore
и AWSAuthUI
.
Я получил кое-что работающее, где я могу создавать учетные записи и входить и выходить.
Теперь я хотел бы использоватьDynamoDB
, чтобы позволить пользователю что-то хранить.Для этого я попытался интегрировать код DynamoDB
, который у меня работает, в другое приложение.Но очевидно, что среда двух приложений не совсем одинакова, поэтому она не работает так, как мне бы хотелось.
Вот код данных DynamoDB, который я хочу обработать:
import Foundation
import AWSDynamoDB
@objcMembers
class DynamoDBData: AWSDynamoDBObjectModel, AWSDynamoDBModeling {
var _message,_timeStamp,_user: String?
class func dynamoDBTableName() -> String {
return "DynamoDBData"
}
class func hashKeyAttribute() -> String {
return "_timeStamp"
}
class func rangeKeyAttribute() -> String {
return "_user"
}
override class func jsonKeyPathsByPropertyKey() -> [AnyHashable: Any] {
return [
"_message" : "message",
"_timeStamp" : "timeStamp",
"_user" : "user"
]
}
}
А вот код для того, где я пытаюсь что-то сохранить в БД и получить сбой:
@objc func handleTap() {
print(#function)
let dynamoDbObjectMapper = AWSDynamoDBObjectMapper.default() // Here the app is crashing.
// Create data object using the data model:
let dataBlock = DynamoDBData()
dataBlock?._message = "message-TEST"
dataBlock?._timeStamp = "timeStamp-TEST"
dataBlock?._user = "user-TEST"
// Save the new item:
dynamoDbObjectMapper.save(dataBlock!, completionHandler: {
(error: Error?) -> Void in
if let error = error {
print("Amazon DynamoDB Save Error: \(error)")
return
}
print("An item was saved.")
})
}
Наконец, это сообщение, которое я получаю при сбое приложения:
Terminating app due to uncaught exception 'NSInternalInconsistencyException',
reason: 'The service configuration is `nil`. You need to configure `Info.plist`
or set `defaultServiceConfiguration` before using this method.'
Некоторые указания (даже частичные) о том, как двигаться дальше, были бы очень полезны.