2014-11-19 7 views
5

Ho fatto questa domanda sul forum Apple Dev, ma ancora non ho ricevuto risposta.+ [UIPasteboard _accessibilityUseQuickSpeakPasteBoard]: selettore non riconosciuto inviato alla classe

Abbiamo trascorso un soggiorno eccellente al 100% iOS 8 dispositivi incidente:

+[UIPasteboard _accessibilityUseQuickSpeakPasteBoard]: unrecognized selector sent to class 

L'analisi dello stack è:

Thread : Fatal Exception: NSInvalidArgumentException 
0 CoreFoundation     0x2889ec1f __exceptionPreprocess + 126 
1 libobjc.A.dylib    0x36049c8b objc_exception_throw + 38 
2 CoreFoundation     0x288a3f55 __CFExceptionProem 
3 CoreFoundation     0x288a1def ___forwarding___ + 354 
4 CoreFoundation     0x287d3df8 _CF_forwarding_prep_0 + 24 
5 UIAccessibility    0x331fc157 +[UIPasteboard_QSExtras pasteboardWithName:create:] + 30 
6 MyApp       0x002eb507 -[TJEventOptimizer .cxx_destruct] 
7 MyApp       0x002eb28b -[TJEventOptimizer .cxx_destruct] 
8 MyApp       0x002f0c2b -[TJEventOptimizer .cxx_destruct] 
9 MyApp       0x002eeedb -[TJEventOptimizer .cxx_destruct] 
10 Foundation      0x295adb5b __NSThread__main__ + 1118 
11 libsystem_pthread.dylib  0x3670ce93 _pthread_body + 138 
12 libsystem_pthread.dylib  0x3670ce07 _pthread_start + 118 
13 libsystem_pthread.dylib  0x3670ab90 thread_start + 8 

Nonostante il fatto, TapJoy viene catturato nella traccia dello stack, their FAQ says è ocaisonally sbagliato e non ha nulla a che fare con il codice di TapJoy, ma piuttosto con il bug di iOS 8.

E 'corretto?

Quali impostazioni di accessibilità sono correlate allo schianto?

+1

sì, quello è da TapJoy, stanno respingendo quel problema (dicendo che è dal lato Apple) – l0gg3r

+0

interessante! sai per caso quali impostazioni di accessibilità + azioni dell'utente potrebbero attivare? –

+0

Mi sembra che abbia qualcosa a che fare con 'UIPasteboard_QSExtras'. Di chi è questo codice? –

risposta

3

Questo problema sembra a causa TapJoy ha usato categorie in libreria statica (che è UIPasteboard_QSExtras) La soluzione è semplice super, è necessario informare linker di quel

enter image description here

1) Fare clic sul progetto
2) Fare clic sul bersaglio
3) Aprire Build Settings scheda
4) Cerca Other Linker Flags

enter image description here

5) Fare doppio clic sul Other Linker Flags
6) Aggiungi -ObjC e -all_load bandiere
7)
Rimuovere binario (Elimina dal dispositivo/simulatore),
Clean progetto (che colpisce cmd+shift+k) e
accumulo di nuovo (colpendo cmd+b).

Sei pronto per partire!

+1

Ho avuto '-ObjC' lì, ma non' -all_load'. Ad essere onesti, non so nemmeno come riprodurlo, quindi non posso dire che questo risolva il problema. Inoltre, i tuoi passaggi includono la rimozione dei binari, quindi mi chiedo, se l'utente avrebbe risolto questo problema tramite l'aggiornamento di AppStore? –

+0

Vedere il commento della mia risposta precedente http: // StackOverflow.it/questions/24483123/app-crash-when-add-google-conversion-tracking-sdk-ios-3-0-0/24625961 # comment38165198_24625961 – l0gg3r

+1

succede perché UIPasteboard viene creato solo una volta, per riprodurre il crash, cambia il bundleIdentifier dell'applicazione (come immagino) – l0gg3r

1

la soluzione suggerita da I0gg3r sfortunatamente non funziona .. L'ho provato su 3 app, e trovo ancora il crash UIPasteboard come il crash più frequente .. Qualche altro suggerimento? C'è un modo per disabilitare le impostazioni di accessibilità nell'app?

Aggiornamento: Tapjoy ha rilasciato un update (10.2.1) che risolve questo problema. Si prega di scaricare il loro ultimo SDK

+0

Hai trovato una soluzione praticabile? – Chris

+0

Ciao, sì: per favore vedi l'aggiornamento nella mia risposta – cujo30227