in Example/AmazonFreeRTOSDemo/AmazonFreeRTOSDemo/DevicesViewController.swift [77:125]
func showLogin() {
AWSMobileClient.default().initialize { userState, error in
// initialize error
if let error = error {
DispatchQueue.main.async {
Alertift.alert(title: NSLocalizedString("Error", comment: String()), message: error.localizedDescription)
.action(.default(NSLocalizedString("OK", comment: String())))
.show(on: self)
}
return
}
// process userState
guard let navigationController = self.navigationController, let userState = userState else {
return
}
switch userState {
case .signedIn:
self.attachPrincipalPolicy()
case .signedOut:
let signInUIOptions = SignInUIOptions(canCancel: false, logoImage: #imageLiteral(resourceName: "common_logo"), backgroundColor: UIColor(named: "teal_color"))
AWSMobileClient.default().showSignIn(navigationController: navigationController, signInUIOptions: signInUIOptions) { _, error in
// signin error
if let error = error {
DispatchQueue.main.async {
Alertift.alert(title: NSLocalizedString("Error", comment: String()), message: error.localizedDescription)
.action(.default(NSLocalizedString("OK", comment: String())))
.show(on: self)
}
return
}
self.attachPrincipalPolicy()
}
default:
AWSMobileClient.default().signOut()
}
}
}