2015-02-24 28 views
7

Dall'ultima versione di Parse (v1.6.3) la mia app si blocca all'avvio e l'ultimo punto di interruzione che raggiunge è [PFFacebookUtils initializeFacebook]; Se si preme pausa e si guarda il debugger, lo stack traccia assomiglia a questo:Arresto anomalo quando si chiama [PFFacebookUtils initializeFacebook] - semaphore_wait_trap

enter image description here

chiamo [PFFacebookUtils initializeFacebook] in - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions come consigliato.

Da cercare su Google il problema semaphore_wait_trap, sembra essere correlato al conflitto tra thread in background (?) In Core Data. Ma ho provato a commentare tutte le mie query di background Parse e si verifica ancora.

Ho provato ad aggiornare i pod (ciò si è verificato prima dell'aggiornamento, tra l'altro). Posso anche eseguire l'app da un'installazione pulita, fino a quando non accedo a Facebook, a quel punto l'arresto si verifica ogni volta che provo a lanciare. Sembra che il PFUser stia tornando bene quando richiesto. Ho anche svuotato il mio intero database ma non ha fatto la differenza.

Qualcuno sa cosa potrebbe succedere?

+0

Appena archiviato come bug su Facebook. https://developers.facebook.com/bugs/383878198474328/ – Liron

risposta

8

che stavo vedendo questo stesso problema e ha scoperto che cambiando l'ordine di questa sequenza di inizializzazione (sto usando rapida) mi ha passato (in particolare commentando l'archivio dati locale sblocca anche esso):

Questo viene catturato in semaphore_wait_trap:

// Parse integration initialization 
Parse.enableLocalDatastore() 
Parse.setApplicationId("<my app id>", clientKey: "<my client key>") 
PFAnalytics.trackAppOpenedWithLaunchOptions(launchOptions) 
PFFacebookUtils.initializeFacebook() 

Questo non lo fa:

// Parse integration initialization 
Parse.enableLocalDatastore() 
Parse.setApplicationId("<my app id>", clientKey: "<my client key>") 
PFFacebookUtils.initializeFacebook() 
PFAnalytics.trackAppOpenedWithLaunchOptions(launchOptions) 

non sono sicuro del problema sottostante, ma spero che aiuta.

+0

Sembrava fare il trucco ... non so perché, ma almeno funziona di nuovo ora. Un po 'preoccupante per il fatto che un cambiamento nell'api può rompere le app live ... – Smikey

+0

Hmm è ricominciato a succedere - in modo intermittente, dopo aver eseguito la mia app alcune volte. Funziona bene se pulisco la build e l'app, ma ricomincia a verificarsi dopo alcune sessioni.Ho provato le chiamate al metodo di mischiare, ma non sembra fare la differenza ... Se commento fuori abilitando il datastore locale, le cose funzionano, ma ovviamente non ho accesso al mio archivio dati locale. Pod aggiornati ma si verifica ancora. Questo potrebbe essere un cambio di backend di Parse? – Smikey

+0

Hai aggiornato a Facebook SDK 4.0.1 e alle ultime librerie di analisi? Ho finito per cambiare la chiamata di init a PFFacebookUtils.initializeFacebookWithApplicationLaunchOptions (launchOptions) quando l'ho fatto (prima oggi). Inoltre stai attento che hai bisogno di ParseFacebookUtilsV4 se stai usando cocoapods ... – jrichau

1

sembra essere fissato con parse 1.7.2

Secondo v1.7.2 - 27 apr 2015

Nuovo: condivisione dei dati locali per le estensioni e WatchKit. Annotazioni migliorate del nullability per ParseFacebookUtils.
Risolto: logOutInBackground con callback del blocco non richiamato sul thread principale. corretto: errore di compilazione potenziale con l'utilizzo delle importazioni per PFSubclassing.h.
Risolto: non persistente corrente Utente se si salva l'utente automatico tramite saveEventually.
Corretto: scenario di deadlock raro con utilizzo di ParseFacebookUtils e currentUser.
Risolto: problema raro con il fissaggio di più oggetti in una fila allo stesso pin.
Risolto: scenario raro quando l'utente non può essere collegato con Facebook.
Prestazioni e affidabilità migliorate del Datastore locale. Miglioramenti delle prestazioni.
Altre piccole correzioni di bug.

+1

Grande, speriamo che faccia il trucco! Se pubblichi la tua risposta qui, posso contrassegnarla come accettata, poiché la domanda sopra è leggermente diversa: http://stackoverflow.com/questions/29695690/parse-login-hang-since-facebook-4-0-x- with-pffacebookutils-initializefacebookwi? noredirect = 1 # comment47960248_29695690 – Smikey

+0

@Smikey Sembra buono. Penso che mi spingerai oltre 1000 rappresentanti. – Liron