Я использую логин Twitter в процессе регистрации моего приложения. И я прошу электронную почту пользователя. Как только я его получу, я хотел бы представить UIAlertController.
Вот мой код:
func askForTWMail(){
if (Twitter.sharedInstance().session() != nil) {
let shareMailVC=TWTRShareEmailViewController(completion: {(mail:String!, error:NSError!) in
if (mail != nil) {
print("GOT MAIL: \(mail)")
self.gotMail()
}else{
print("MAIL VC ERROR: \(error)")
}
})
println("PRESENT MAIL VC")
self.presentViewController(shareMailVC, animated: true, completion: nil)
}else{
println("User not logged in")
}
}
func gotMail(){
var alertController=UIAlertController(title: "Some title", message: "Some message", preferredStyle: UIAlertControllerStyle.Alert)
var okAction=UIAlertAction(title:"Yes", style: UIAlertActionStyle.Default) {
UIAlertAction in
//some action
}
var cancelAction=UIAlertAction(title:"No", style: UIAlertActionStyle.Cancel){
UIAlertAction in
//some action
}
alertController.addAction(okAction)
alertController.addAction(cancelAction)
self.presentViewController(alertController, animated: true, completion: nil)
}
Но я получаю эту ошибку (я думаю, потому что TWTRShareEmailViewController не отклонен):
Предупреждение: попытайтесь представить UIALertController на xViewController, чье представление не находится в иерархии окон!
Любая идея о том, как я должен написать это? Как я могу узнать, когда TWTRShareEmailViewController
будет отклонен, чтобы продолжить процесс регистрации и представить свой UIAlertController
? Я не знаю о методе делегата, связанном с TWTRShareEmailViewController
.
Любая помощь приветствуется. Спасибо.