Ich konnte dieses Problem auf Xcode nicht lösen.Swift 3: Instanz-Member 'CognitoPoolID' kann nicht für den Typ 'Konstanten' verwendet werden
Hier ist, wie der Konstanten
struct Constants {
let AWSAccountID = "XXXXXXXXXXXX"
let CognitoPoolID = "arn:aws:XXXXXXX-XXXXXXXX:XX-XXXXXXXXX-X:XXXXXXXXXXXX:XXXXXXXXXXXX/XX-XXXXXXXX-X:XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"
let CognitoRoleAuth = "arn:aws:iam::XXXXXXXXXXXX:XXXX/XXXXXXX_XXXXXXXX_XXXX"
}
Das Hauptproblem ist auf dieser Linie definiert ist
let provider = AWSCognitoCredentialsProvider(...
identityPoolId:Constants.CognitoPoolID.value,...)
Der Fehler, die ich erhalte, wenn ich versuche zu bauen und/oder eine Code-Analyse ausführen gibt mir der folgende Compilerfehler.
Instanz Mitglied ‚CognitoPoolID‘ kann nicht auf ‚Constants‘ Typ
hier verwendet wird, ist der Code von dem Anbieter Erklärung der ganzen Weg bis zum Ende.
// This specifies AWS connection parameters.
let provider = AWSCognitoCredentialsProvider (regionType: .apNortheast1,
identityPoolId: Constants.CognitoPoolID.value,
unauthRoleArn: "arn:aws:iam::XXXXXXXXXXXX:XXXX/XXXXXXX_XXXXXXXXXXX_XXXX",
authRoleArn: Constants.CognitoRoleAuth.value,
identityProviderManager: Constants.AWSAccountID.value);
let configuration = AWSServiceConfiguration(region:.apNortheast1, credentialsProvider:provider);
AWSServiceManager.default().defaultServiceConfiguration(configuration)
// Set out the Auth0 URL here which is the same Open ID Connect Provider URL.
provider.logins = ["marcadian.au.auth0.com" : idToken]
provider.getIdentityId().continue({ (task:AWSTask!) -> Any? in
self.provider.refresh()
if (task.error != nil) {
// Failed Error Handling code goes here.
} else {
// User has logged in successfully.
}
return nil
})
// User has dismissed the Lock View Controller.
controller?.dismiss(animated: true, completion: nil)
}
}
Was bedeutet das?
Nun, ich habe versucht, die Daten, die ich will direkt in die Methode ohne die Konstanten-Datei hinzufügen. Aber ich würde mich freuen, wenn Sie mir eine Lösung geben könnten. –
Nun ja ich hätte gerne Hilfe dann bitte. –
Also meine Antwort war richtig. Du hättest "Static Let" sagen sollen. – matt