iOS Swift:将 AWS SDK 与 xCode6 结合使用 - 错误消息
Posted
技术标签:
【中文标题】iOS Swift:将 AWS SDK 与 xCode6 结合使用 - 错误消息【英文标题】:iOS Swift: Using AWS SDK with xCode6 - error message 【发布时间】:2015-05-29 06:00:31 【问题描述】:使用 CocoaPods 已将 AWS 库添加到我的项目中。
创建了一个 BridgingHeader.h 文件:
#import "AWSCore.h"
#import "AWSCognito.h"
#import "AWSS3.h"
在应用程序构建设置> Objective-C 桥接头包含这个 BridgingHeader.h 文件。
当我使用凭据初始化代码时,现在在我的代码中:
let credentialsProvider = AWSCognitoCredentialsProvider.credentialsWithRegionType(
AWSRegionType.USEast1,
accountId: "999999999999",
identityPoolId: "us-east-1:ac328da6-63f3-4748-9b8f-999999999",
unauthRoleArn: "arn:aws:iam::69644888888:role/Cognito_s3tutorialUnauth_DefaultRole",
authRoleArn: "arn:aws:iam::69647777777:role/Cognito_s3tutorialAuth_DefaultRole")
在编译时我看到的错误是:
credentialsWithRegionType 不可用,请使用 initWithRegionType... 而是
我也无法使用 initWithRegionType...因为错误是:AWSCognitoCredentialsProvider 没有名为 initWithRegionType 的成员
令人惊讶的是,我什至可以在 IDE 的右侧窗格中看到它的签名和帮助:AWSCognitoCredentialsProvider.credentialsWithRegionType
我错过了什么?这可能是版本混淆吗?
【问题讨论】:
我正在使用 Cocoa Pods 安装 fremework 并得到类似的错误。pod 'AWSS3', '~> 2.2.0'
【参考方案1】:
您可能必须将此函数用作Swift
的构造函数:
let CognitoRegionType = AWSRegionType.Unknown // e.g. AWSRegionType.USEast1
let DefaultServiceRegionType = AWSRegionType.Unknown // e.g. AWSRegionType.USEast1
let CognitoIdentityPoolId = "YourCognitoIdentityPoolId"
let S3BucketName = "YourS3BucketName"
let credentialsProvider = AWSCognitoCredentialsProvider(regionType: CognitoRegionType, identityPoolId: CognitoIdentityPoolId)
let configuration = AWSServiceConfiguration(region: DefaultServiceRegionType, credentialsProvider: credentialsProvider)
AWSServiceManager.defaultServiceManager().defaultServiceConfiguration = configuration
【讨论】:
以上是关于iOS Swift:将 AWS SDK 与 xCode6 结合使用 - 错误消息的主要内容,如果未能解决你的问题,请参考以下文章
AWS iOS SDK Cognito 开发人员身份验证 (Swift)
在iOS Swift中不使用AWS SDK在Amazon S3存储桶中上传的背景图像(背景模式)
将 Paypal ios sdk 与 swift 5 集成时出错