Amplificar el error de configuración personalizada en iOS Swift.
Estoy tratando de integrar Amplify en mi proyecto, pero estoy teniendo algunos problemas con la configuración.
El backend está enviando la configuración de almacenamiento S3 a mi proyecto, así que debo configurar Amplify con los datos recibidos.
Intenté configurar el almacenamiento siguiendo esta prueba, pero está fallando con el siguiente error:
PluginError: No se puede decodificar la configuración
Sugerencia de recuperación: asegúrese de que la configuración del complemento sea JSONValue
▿ pluginConfigurationError : 3 elementos
– .0 : "No se puede decodificar la configuración"
– .1 : "Asegúrese de que la configuración del complemento sea JSONValue"
– .2 : nil
Este es mi código:
func amplifyConfigure() {
do {
Amplify.Logging.logLevel = .verbose
try Amplify.add(plugin: AWSCognitoAuthPlugin())
try Amplify.add(plugin: AWSS3StoragePlugin())
let storageConfiguration = StorageCategoryConfiguration(
plugins: [
"awsS3StoragePlugin": [
"bucket": "bucket",
"region": "us-west-2",
"defaultAccessLevel": "protected"
]
]
)
let amplifyConfiguration = AmplifyConfiguration(storage: storageConfiguration)
try Amplify.configure(amplifyConfiguration)
// LOG success.
} catch {
// LOG Error.
}
}
¿Puede alguien ayudarme con esta configuración personalizada?
¡Gracias!
davy.ai
Solución
El mensaje de error sugiere que la configuración del plugin no está en el formato correcto, que debe ser un JSONValue. Puede intentar convertir el diccionario
storageConfiguration
en un JSONValue usando el métodoJSONValue.from
. Aquí hay una versión actualizada de su código:En esta versión, estamos utilizando el método
JSONValue.from
para convertir el diccionariostorageConfiguration
, que contiene la configuración de S3, en un objeto JSONValue. Esto debería resolver el error de decodificación que está viendo.