2016-09-14 1 views
0

После обновления Swift 3 у меня возникли проблемы с получением моего приложения для компиляции. Большинство ошибок довольно просто исправить, но я сталкиваюсь с некоторыми, в частности с AWS. Есть ли какой-то обновленный AWS SDK для Swift 3? Я попытался найти его, но не нашел его. В любом случае, две основные ошибки, с которыми я столкнулся, имеют следующие проблемы:AWS и изменения в Swift 3

«Тип« IdentityProviderManager »не соответствует протоколу AWSIdentityProviderManager.» Это для класса, который я создал после учебника по настройке логинов через AWS Cognito. Код:

class IdentityProviderManager: NSObject, AWSIdentityProviderManager{ 
var tokens : [NSString : NSString]? 
init(tokens: [NSString : NSString]) {  
    self.tokens = tokens 
}  
@objc func logins() -> AWSTask<AnyObject> { 
    return AWSTask(result: tokens as AnyObject) 
} 

}

В документации AWS для AWSIdentityProviderManager, это говорит о том, что только требуемая функция логины, которые у меня есть. Есть ли простой способ разрешить это, что я пропал?

Другая ошибка в моем классе LoginViewController: «Тип« LoginViewController »не соответствует протоколу« AWSCognitoIdentityPasswordAuthentication ».» Здесь проблема кажется немного более ясной, поскольку в документации говорится, что getPasswordAuthenticationDetails() - это необходимый метод, и XCode, похоже, изменил этот метод на getDetails() при обновлении до Swift 3, если я не ошибаюсь, и его не было для начала или чего-то еще. В любом случае автозаполнение не дает мне оригинальный метод, и я не могу заставить класс соответствовать протоколу.

Извините, если ответ уже находится в документации где-нибудь, но насколько я могу судить, похоже, что AWS SDK (по крайней мере, версия, которая у меня есть) как-то несовместима с Swift 3. Есть ли что-то, что я могу сделать для разрешить эти ошибки?

+0

Ваш код не работал на меня, но это исправлено: http://stackoverflow.com/questions/39045869/unable-to-compile-aws-customidentityprovider-on-xcode-8-beta-6 – Feedslant

ответ

0

Nevermind, оказалось, что XCode просто не показывал мне возможность внести необходимые изменения. В автоматическом исправлении реализованы несколько разные версии требуемых функций, и все закончилось тем, что они работали.

Смежные вопросы