【发布时间】:2017-02-24 01:34:08
【问题描述】:
我无法在 Xcode 上解决这个问题。
这是常量的定义方式
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"
}
主要问题在这一行
let provider = AWSCognitoCredentialsProvider(...
identityPoolId:Constants.CognitoPoolID.value,...)
当我尝试构建和/或运行代码分析时收到的错误导致我出现以下编译器错误。
实例成员“CognitoPoolID”不能用于类型“常量”
这是从提供者声明一直到最后的代码。
// 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)
}
}
这是什么意思?
【问题讨论】:
-
好吧,我已经尝试将我想要的数据直接添加到没有常量文件的方法中。但如果您能给我一个解决方案,我将不胜感激。
-
好吧,我需要帮助。
-
所以我的回答是对的。你应该说
static let。
标签: ios swift amazon-cognito auth0