Amplificar la configuración personalizada de error en iOS Swift

0

Pregunta

Estoy tratando de integrar Amplificar a mi proyecto, pero estoy teniendo algunos problemas con la configuración. El backend es el envío de la S3 configuración de Almacenamiento para mi proyecto, así que tengo que configurar Amplificar con los datos recibidos. He intentado configurar el almacenamiento tras esta prueba, pero en su defecto con el siguiente error:

PluginError: Unable to decode configuration
Recovery suggestion: Make sure the plugin configuration is JSONValue
  ▿ pluginConfigurationError : 3 elements
    - .0 : "Unable to decode configuration"
    - .1 : "Make sure the plugin configuration is 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.
        }
    }

Alguien me puede ayudar con esta configuración personalizada? Gracias!

1

Mejor respuesta

0

Parece que config no puede ser declarado directamente de una sola vez, por alguna razón, posiblemente relacionadas con el tipo. Para mí funciona, si me declaro en varios pasos. Trate de sustituir esto:

let storageConfiguration = StorageCategoryConfiguration(
                        plugins: [
                            "awsS3StoragePlugin": [
                                "bucket": "bucket",
                                "region": "us-west-2",
                                "defaultAccessLevel": "protected"
                            ]
                        ]
                    )

con esto:

var storageConfigurationJson : [String:JSONValue] = [ "awsS3StoragePlugin" : [] ]
storageConfigurationJson["awsS3StoragePlugin"] = ["bucket": "bucket",
                                                  "region": "us-west-2",
                                                  "defaultAccessLevel": "protected"]
let storageConfiguration = StorageCategoryConfiguration(plugins: storageConfigurationJson)

Sólo lo he usado Amplificar config con AuthCategoryConfigurationpor lo que en caso StorageCategoryConfiguration tiene una sintaxis diferente, usted puede necesitar ajustar mi código sugerido en consecuencia.

2021-12-23 13:53:56

En otros idiomas

Esta página está en otros idiomas

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Slovenský
..................................................................................................................