Sto aggiungendo alcuni dati nella mia classe di analisi (tabella).Parse saveInBackgroundWithBlock si blocca su iOS
Dopo aver completato correttamente il salvataggio (posso vedere i dati sul sito Web), la mia app si arresta in modo anomalo senza lasciare alcun messaggio sulla console. Ho cercato di ottenere un messaggio utilizzando l'impostazione "Abilita oggetti Zombie". Questo è il messaggio che sto ottenendo, che non ha nulla a che fare quello che sto facendo:
-[UIActivityIndicatorView release]: message sent to deallocated instance 0x126d16780
Non ho alcun UIActivityIndicatorView
in tutto il mio progetto.
Ecco come salvare i dati personali:
var currentUser = PFUser.currentUser()!
var userCase = PFObject(className: "Case")
userCase.relationForKey("user").addObject(currentUser)
userCase["caseCode"] = "test_code"
userCase.saveInBackgroundWithBlock {
(success: Bool, error: NSError?) -> Void in
if (success) {
// The object has been saved.
println("saved")
} else {
// There was a problem, check error.description
println("error occurred: \(error?.description)")
}
}
versione Swift SDK: 1.7.5 versione Xcode: 6.4
Ha Qualcuno ha mai affrontato con tale problema?
UPDATE: Questo errore non si verifica sul simulatore (testato su iPhone 5, iPhone 5S, iPhone 6) e non si verifica sul dispositivo al primo avvio.
Ho provato a rimuovere e reinstallare l'app.
UPDATE 2: rimozione PFFacebookUtils.initializeFacebookWithApplicationLaunchOptions(launchOptions)
o cambiarlo con PFFacebookUtils.initialize()
dal AppDelegate risolve il problema, ma penso di aver bisogno di usare initializeFacebookWithApplicationLaunchOptions(launchOptions)
. Ho un altro problema ora.
Dove è la linea che va in crash? Sei sicuro che sia correlato al tuo saveInBackgroundWithBlock? –
Non c'è nessuna linea che si blocca. Xcode concentra il file AppDelegate.swift in caso di arresto anomalo. Si blocca solo ogni volta che utilizzo Parse API. Se rimuovo i codici Parse, non si verifica alcuna cotta. – JustWork
Il primo pericolo che si ha nel codice è la prima riga: var currentUser = PFUser.currentUser()! Sostituiscilo con "if var currentUser = PFUser.currentUser() {// code}. PFUser.currentUser() può restituire un" nil ", e lo stai forzando a scartare, quindi procedi ad aggiungere un utente corrente nullo al tuo" user ", –