2015-02-24 20 views
7

Od czasu ostatniego wydania programu Parse (v1.6.3) moja aplikacja blokuje się podczas uruchamiania, a ostatni punkt krytyczny, który trafia, to [PFFacebookUtils initializeFacebook]; Jeśli zatrzymam się i spojrzę na debugger, stos ślad wygląda następująco:Błąd parsowania podczas wywoływania [PFFacebookUtils initializeFacebook] - semaphore_wait_trap

enter image description here

Dzwonię [PFFacebookUtils initializeFacebook] w - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions zgodnie z zaleceniami.

Z googlowania problemu semaphore_wait_trap wynika, że ​​ma on związek ze ścierającymi się wątkami tła (?) W danych podstawowych. Ale próbowałem komentować wszystkie moje tło Kwerendy i nadal występuje.

Próbowałem aktualizacji strąków (to miało miejsce przed aktualizacją, nawiasem mówiąc). Mogę też uruchomić aplikację z czystej instalacji, dopóki nie zaloguję się do Facebooka, w którym to momencie zdarza się awaria za każdym razem, gdy próbuję uruchomić. PFUser wydaje się zwracać dobrze, gdy zapytał. Usunąłem też całą moją bazę danych, ale to nie miało znaczenia.

Ktoś wie, co może się dziać?

+0

Po prostu złożyłem to jako błąd na Facebooku. https://developers.facebook.com/bugs/383878198474328/ – Liron

Odpowiedz

8

widziałem ten sam problem i okazało się, że zmieniając kolejność sekwencji inicjalizacji (używam Swift) dostał mnie obok niego (zwłaszcza zakomentowanie lokalnego magazynu danych także odblokowuje IT):

Ten wplątuje w semaphore_wait_trap:

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

to nie:

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

wątpliwości co do podstawowej kwestii, ale mam nadzieję, że pomaga.

+0

To chyba załatwiło sprawę ... nie wiem dlaczego, ale przynajmniej teraz znowu działa. Trochę niepokojące, że zmiana api może przerwać aplikacje na żywo ... – Smikey

+0

Hmm, zaczęło się to dziać znowu - sporadycznie, po uruchomieniu mojej aplikacji kilka razy. Działa dobrze, jeśli wyczyszczę kompilację i usuwam aplikację, ale po kilku uruchomieniach ponownie się pojawia.Próbowano wywoływać metody losowania, ale nie ma to większego znaczenia ... Jeśli skomentuję włączenie lokalnego magazynu danych, rzeczy będą działać, ale potem oczywiście nie będę mieć dostępu do lokalnego magazynu danych. Zaktualizowano strąki, ale nadal występuje. Czy to może być zmiana backendu przez Parse? – Smikey

+0

Czy aktualizowałeś do Facebook SDK 4.0.1 i najnowszych bibliotek Parse? W końcu zmieniłem wywołanie init na PFFacebookUtils.initializeFacebookWithApplicationLaunchOptions (launchOptions), kiedy to zrobiłem (wcześniej dzisiaj). Zwróć też uwagę, że potrzebujesz ParseFacebookUtilsV4, jeśli używasz cocoapods ... – jrichau

1

wydaje się być ustalone z parse 1.7.2

Według v1.7.2 - 27 kwietnia 2015

Nowość: Udostępnianie danych lokalnych dla rozszerzeń i WatchKit. Poprawione adnotacje do usuwania pustego tekstu dla ParseFacebookUtils.
Naprawiono: logOutInBackground z blokowym wywołaniem oddzwaniania nie wywołanym w głównym wątku. Naprawiono: Potencjalny błąd kompilacji z użyciem importu dla PFSubclassing.h.
Naprawiono: Nietrwały currentUser, jeśli zapisujesz automatyczny użytkownik przez saveEventually.
Naprawiono: Rzadki scenariusz zakleszczenia z użyciem ParseFacebookUtils i currentUser. Naprawiono: Rzadki problem polegający na przypinaniu wielu obiektów w jednym rzędzie do tego samego styku.
Naprawiono: Rzadki scenariusz, gdy użytkownik nie mógł być powiązany z Facebookiem.
Zwiększona wydajność i niezawodność Local Datastore. Ulepszenia wydajności.
Inne drobne poprawki.

+1

Świetne, mam nadzieję, że to wystarczy! Jeśli zamieścisz tutaj swoją odpowiedź, mogę oznaczyć ją jako zaakceptowaną, ponieważ powyższe pytanie jest nieco inne: http://stackoverflow.com/questions/29695690/parse-login-hang-since-facebook-4-0-x- with-pffacebookutils-initializefacebookwi? noredirect = 1 # comment47960248_29695690 – Smikey

+0

@Smikey Brzmi nieźle. Myślę, że popchniesz mnie ponad 1000 przedstawicieli. – Liron

Powiązane problemy