Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

+[UIPasteboard _accessibilityUseQuickSpeakPasteBoard]: unrecognized selector sent to class

I asked this question on Apple Dev forum, but still didn't get an answer.

We expirience 100% iOS 8 devices crash:

+[UIPasteboard _accessibilityUseQuickSpeakPasteBoard]: unrecognized selector sent to class

The stack trace is:

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

Despite the fact, TapJoy is captured in the stack trace, their FAQ says it is ocaisonally wrong and has nothing to do with TapJoy's code, but rather iOS 8 bug.

Is it correct?

What accessibility setting related to the crash?

like image 892
Yevhen Dubinin Avatar asked Sep 30 '22 09:09

Yevhen Dubinin


1 Answers

This problem appears because TapJoy has used categories in static library (that's UIPasteboard_QSExtras) The solution is super simple, you need to notify linker about that

enter image description here

1) Click on the project
2) Click on the target
3) Open Build Settings tab
4) Search for Other Linker Flags

enter image description here

5) Double click on Other Linker Flags
6) Add -ObjC and -all_load flags
7)
Remove binary (delete from device/simulator),
Clean project (hitting cmd+shift+k) and
build again (hitting cmd+b).

You're ready to go!

like image 103
l0gg3r Avatar answered Oct 03 '22 01:10

l0gg3r