Когда я запускаю свое приложение в симуляторе IOS, все работает нормально, в том числе вход в систему и регистрация действий. Теперь, когда я развертываю приложение на моем фактическом устройстве IOS, все работает соответственно, пока я не попытаюсь выполнить те же действия входа и регистрации. Действие приложения закрывается, однако при повторном открытии пользователь все еще вошел в систему или зарегистрировался.Ошибка кодирования развертывания устройства Xcode
здесь логика для моего логина:
@IBAction func Login(sender: AnyObject) {
activityIND.hidden = false
activityIND.startAnimating()
var userName = usernameText.text
var passWord = passwordText.text
PFUser.logInWithUsernameInBackground(userName, password: passWord) {
(user: PFUser?, error: NSError?) -> Void in
if user != nil {
dispatch_async(dispatch_get_main_queue()) {
self.performSegueWithIdentifier("loginSucess", sender: self)
}
} else {
self.activityIND.stopAnimating()
if let message: AnyObject = error!.userInfo!["error"] {
self.message.text = "\(message)"
}
}
}
}
здесь логика для моего знака вверх:
func processSignUp() {
var userUsername = usernameTxt.text
var userEmailAdress = emailTxt.text
var userPassword = passwordTxt.text
var confirmPassword = confirmTxt.text
var yes = false
var no = false
//start activity indicator
activityIndicator.hidden = false
activityIndicator.startAnimating()
//create new user
var user = PFUser()
user.username = userUsername
user.email = userEmailAdress
user.password = userPassword
//ensure confirm password is equal to password
if confirmPassword == userPassword {
yes = true
} else {
let passAlert = UIAlertController(title: "Sign Up Failed", message: "Sorry, your passwords are not matching", preferredStyle: UIAlertControllerStyle.Alert)
passAlert.addAction(UIAlertAction(title: "OK", style: UIAlertActionStyle.Default, handler: nil))
self.presentViewController(passAlert, animated: true, completion: nil)
self.activityIndicator.stopAnimating()
}; if userUsername == "" || userEmailAdress == "" || userPassword == "" || confirmPassword == "" {
let blankAlert = UIAlertController(title: "Sign Up Failed", message: "Sorry, some fields are blank", preferredStyle: UIAlertControllerStyle.Alert)
blankAlert.addAction(UIAlertAction(title: "OK", style: UIAlertActionStyle.Default, handler: nil))
self.presentViewController(blankAlert, animated: true, completion: nil)
self.activityIndicator.stopAnimating()
} else {
no = true
}; if yes && no {
user.signUpInBackgroundWithBlock { (
success: Bool, error: NSError?) -> Void in
if error == nil {
dispatch_async(dispatch_get_main_queue()) {
self.performSegueWithIdentifier("goToTab", sender: self)
}
} else {
self.activityIndicator.stopAnimating()
if let message: AnyObject = error!.userInfo!["error"] {
self.message.text = "\(message)"
}
}
}
}
}
Я сомневаюсь, что есть проблема с любой из логики потому что процессы работают, они просто сбой, когда я запускаю его через свое реальное устройство. Теперь у меня около 22 предупреждений, отличающихся от неуместных представлений, неподдерживаемых конфигураций и неоднозначных макетов, но, как я уже сказал, несмотря на эти предупреждения, приложение работает нормально, и все элементы моего пользовательского интерфейса размещены так, как я их желал. Какая проблема?
«Приложение закрывается» Также называется крушением! И он оставляет журнал сбоя в консоли. Что он говорит? На какой линии это происходит? – matt
Uh huh. Но вы все еще не ответили на мой вопрос: что такое крушение и где? – matt
Ух, у вас есть «около 22 предупреждений», исправьте их. Также запустите анализатор и исправьте все найденные жалобы. Хороший код не содержит предупреждений. – zaph