I tried my best to find the answer, but I failed. Someone showed me one possible reson :
overridden touchesBegan method of UIScrollView in a category
But it was not true. I didn't overridden overridden touchesBegan method of UIScrollView.
The crash stack is like this :
0 CoreFoundation 0x0000000184c942d8 ___exceptionPreprocess
1 libobjc.A.dylib 0x00000001969600e4 objc_exception_throw + 56
2 CoreFoundation 0x0000000184c9b3a4 ___methodDescriptionForSelector
3 CoreFoundation 0x0000000184c98154 ____forwarding___
4 CoreFoundation 0x0000000184b9accc _CF_forwarding_prep_0 + 80
5 UIKit 0x0000000189821450 -[UIKeyboardImpl shouldShowCandidateBar]
6 UIKit 0x0000000189736028 -[UIKeyboardImpl updateTextCandidateView]
7 UIKit 0x00000001897354ec -[UIKeyboardImpl updateCandidateDisplay]
8 UIKit 0x00000001898d57f8 -[UIKeyboardImpl completeAddInputString:generateCandidates:]
9 UIKit 0x0000000189aa7e64 ___82-[UIKeyboardImpl completeAcceptCandidateBeforeAddingInputObject:executionContext:]_block_invoke
10 UIKit 0x0000000189e7c49c -[UIKeyboardTaskExecutionContext returnExecutionToParentWithInfo:]
11 UIKit 0x0000000189734e44 -[UIKeyboardTaskQueue continueExecutionOnMainThread]
12 Foundation 0x0000000185b95f9c ___NSThreadPerformPerform
13 CoreFoundation 0x0000000184c4c240 ___CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__
14 CoreFoundation 0x0000000184c4b4e4 ___CFRunLoopDoSources0
15 CoreFoundation 0x0000000184c49594 ___CFRunLoopRun
16 CoreFoundation 0x0000000184b752d4 CFRunLoopRunSpecific + 392
17 GraphicsServices 0x000000018e5cb6fc GSEventRunModal + 156
18 UIKit 0x0000000189772f40 UIApplicationMain + 1488
19 PocketCampus 0x0000000100036cfc _main(main.m:14)
20 libdyld.dylib 0x000000019700aa08 _start