0
我正在创建自定义凭据提供程序,以便我可以设置accesskey,secretkey,令牌和到期日期,但我在上传文件时收到以下错误 [__NSCFString过期]:发送到实例自定义凭据提供程序问题 - Swift2.2,AWS 2.4.9,AWSCredentials AWSCredentialsProvider
下面无法识别的选择是我一直在使用雨燕2.2创建自定义类..请帮我在这里解决上述问题
_```
import AWSS3
import AWSCore.AWSCredentialsProvider
class MYAWSCredentialProvider:AWSCredentials, AWSCredentialsProvider{
var bucketName:String!
var token:String!
var awsAccessKey: String!
var awsSecretKey: String!
var awsExpiration: NSDate?
var awsRegion:String!
static let sharedInstance = MYAWSCredentialProvider(accessKey: "", secretKey: "", sessionKey: "")
@objc func logins() -> AWSTask {
return AWSTask(result: token)
}
init(accessKey: String, secretKey: String, sessionKey: String?) {
super.init()
self.token = sessionKey
self.awsAccessKey = accessKey
self.awsSecretKey = secretKey
}
private static func sharedInstanceWith(accessKey: String, secretKey: String, sessionKey: String) -> MYAWSCredentialProvider {
let instance = MYAWSCredentialProvider.sharedInstance
instance.token = sessionKey
instance.awsAccessKey = accessKey
instance.awsSecretKey = secretKey
return instance
}
func updateAWSInfo (jsonString: JSON) {
awsAccessKey = jsonString["accessKey"].stringValue
awsSecretKey = jsonString["secretKey"].stringValue
bucketName = jsonString["bucketName"].stringValue
awsRegion = jsonString["region"].stringValue
token = jsonString["token"].stringValue
let expirationTime = jsonString["expirationTime"].stringValue
let dateFormatter = NSDateFormatter()
dateFormatter.dateFormat = "E MMM d HH:mm:ss 'UTC' YYYY"////Fri Sep 30 14:42:53 UTC 2016
let date = dateFormatter.dateFromString(expirationTime)
awsExpiration = date
let credentialsProvider = MYAWSCredentialProvider.sharedInstanceWith(awsSecretKey, secretKey: awsSecretKey, sessionKey: token)
let configuration = AWSServiceConfiguration(region:AWSRegionType.APSoutheast1, credentialsProvider:credentialsProvider)
configuration.maxRetryCount = 3;
AWSServiceManager.defaultServiceManager().defaultServiceConfiguration = configuration
}
@objc func credentials() -> AWSTask {
return AWSTask(result: token)
}
func invalidateCachedTemporaryCredentials(){
}
}
请在这里帮我 – Bhat