AWS 入门 Swift(主要问题)
AWS Getting Started With Swift (Major Issues)
我对 Swift 编程还很陌生,对开发一般的移动应用程序也很陌生。我在这里尝试遵循以下入门指南:https://github.com/aws/aws-sdk-ios
我目前正在尝试做的是创建我的应用程序组件,该组件创建用户帐户并允许用户登录。
我已按照自述文件进行操作,但是当我转到以下代码部分以调用 AWS 时:
let credentialsProvider = AWSCognitoCredentialsProvider(
regionType: CognitoRegionType,
identityPoolId: CognitoIdentityPoolId)
let configuration = AWSServiceConfiguration(
region: DefaultServiceRegionType,
credentialsProvider: credentialsProvider)
AWSServiceManager.defaultServiceManager().defaultServiceConfiguration = configuration
let dynamoDB = AWSDynamoDB.defaultDynamoDB()
let listTableInput = AWSDynamoDBListTablesInput()
dynamoDB.listTables(listTableInput).continueWithBlock{ (task: AWSTask!) -> AnyObject! in
let listTablesOutput = task.result as AWSDynamoDBListTablesOutput
for tableName : AnyObject in listTablesOutput.tableNames {
println("\(tableName)")
}
return nil
}
我尝试 运行 我的程序,一切都编译,但停在以下行:let listTablesOutput = task.result as AWSDynamoDBListTablesOutput
当我说停止时,我的意思是我得到了
Thread 6:EXC_BAD_INSTRUCTION (code=EXC_I386_INVOP,subcode=0x0)
总的来说,我花了几个小时阅读文档,但它无法回答我的任何问题。我们是否需要使用 DynamoDB 来允许用户创建帐户并登录?如果是这样,Cognito 到底有什么用?
还有上面代码中的变量,credentialsProvider到底是什么?我们从哪里获得这些信息?
提前感谢任何可以帮助我解决这个问题的人。
你应该使用
let listTablesOutput = task.result as! AWSDynamoDBListTablesOutput
而不是
let listTablesOutput = task.result as AWSDynamoDBListTablesOutput
,
编译器应该警告你,如果你用最新版本的 Xcode 6.
编译它
在Swift中写了一个DynamoDB Sample Project,可能会有帮助。
我对 Swift 编程还很陌生,对开发一般的移动应用程序也很陌生。我在这里尝试遵循以下入门指南:https://github.com/aws/aws-sdk-ios
我目前正在尝试做的是创建我的应用程序组件,该组件创建用户帐户并允许用户登录。
我已按照自述文件进行操作,但是当我转到以下代码部分以调用 AWS 时:
let credentialsProvider = AWSCognitoCredentialsProvider(
regionType: CognitoRegionType,
identityPoolId: CognitoIdentityPoolId)
let configuration = AWSServiceConfiguration(
region: DefaultServiceRegionType,
credentialsProvider: credentialsProvider)
AWSServiceManager.defaultServiceManager().defaultServiceConfiguration = configuration
let dynamoDB = AWSDynamoDB.defaultDynamoDB()
let listTableInput = AWSDynamoDBListTablesInput()
dynamoDB.listTables(listTableInput).continueWithBlock{ (task: AWSTask!) -> AnyObject! in
let listTablesOutput = task.result as AWSDynamoDBListTablesOutput
for tableName : AnyObject in listTablesOutput.tableNames {
println("\(tableName)")
}
return nil
}
我尝试 运行 我的程序,一切都编译,但停在以下行:let listTablesOutput = task.result as AWSDynamoDBListTablesOutput
当我说停止时,我的意思是我得到了
Thread 6:EXC_BAD_INSTRUCTION (code=EXC_I386_INVOP,subcode=0x0)
总的来说,我花了几个小时阅读文档,但它无法回答我的任何问题。我们是否需要使用 DynamoDB 来允许用户创建帐户并登录?如果是这样,Cognito 到底有什么用?
还有上面代码中的变量,credentialsProvider到底是什么?我们从哪里获得这些信息?
提前感谢任何可以帮助我解决这个问题的人。
你应该使用
let listTablesOutput = task.result as! AWSDynamoDBListTablesOutput
而不是
let listTablesOutput = task.result as AWSDynamoDBListTablesOutput
,
编译器应该警告你,如果你用最新版本的 Xcode 6.
编译它在Swift中写了一个DynamoDB Sample Project,可能会有帮助。