2015-03-24 93 views
1

我想通過在iOS 8 Swift應用程序的應用程序委託中添加以下代碼片段來初始化以創建默認服務配置。亞馬遜AWS AWSCognitoCredentialsProvider初始化錯誤

遵醫囑亞馬遜教程here我使用下面的代碼行:

//AWS Service Config 
let credentialsProvider = AWSCognitoCredentialsProvider(
    regionType: AWSRegionType.USEast1, identityPoolId: "us-east-13453454-92d1-234234-234234-3434") 

let defaultServiceConfiguration = AWSServiceConfiguration(
    region: AWSRegionType.USEast1, credentialsProvider: credentialsProvider) 

AWSServiceManager.defaultServiceManager().defaultServiceConfiguration = defaultServiceConfiguration 

但是代碼將無法正常編譯,Xcode中說我「在電話中缺少論據參數‘identityId’」

首先,這段代碼直接來自Amazon的教程,也沒有identiyID,只是一個identitypoolid(在我的代碼中混雜)。

我能做些什麼來解決這個問題?

+0

這聽起來像你可能沒有最新版本iOS的SDK的。請確保您使用的是最新版本,因爲並非所有版本都支持簡化的構造函數。 – 2015-03-24 23:29:34

回答

0

我不知道你使用的是正確的初始化器,嘗試 -

let credentialsProvider = AWSCognitoCredentialsProvider.credentialsWithRegionType(
    AWSRegionType.USEast1, 
    accountId: cognitoAccountId, 
    identityPoolId: cognitoIdentityPoolId, 
    unauthRoleArn: cognitoUnauthRoleArn, 
    authRoleArn: nil) 
    let defaultServiceConfiguration = AWSServiceConfiguration(region: AWSRegionType.USEast1, credentialsProvider: credentialsProvider) 
    AWSServiceManager.defaultServiceManager().setDefaultServiceConfiguration(defaultServiceConfiguration) 
+0

這是初始化credentialsProvider的方法之一。有一個更新的簡化版本,只需要identityPoolId。請參閱獲取憑證下的Objective C部分http://docs.aws.amazon.com/cognito/latest/developerguide/step1-getting-started.html。 – 2016-03-21 00:02:31

0
let cognitoIdentityPoolId = "us-east-XXXXXXXX" 

{

let credentialsProvider = AWSCognitoCredentialsProvider(regionType: .USEast1, identityPoolId: cognitoIdentityPoolId) 
let configuration = AWSServiceConfiguration(region: .USEast1, credentialsProvider: credentialsProvider) 

    AWSServiceManager.defaultServiceManager().defaultServiceConfiguration = configuration