IOS SIGQUIT keyboard extension on startup

I am using keyboard extension. But sometimes it encounters a SIGQUIT signal at startup.

The situation is as follows:

  • Click the text box and the keyboard will appear
  • Tap everything and hide the keyboard.
  • Change to another app
  • Click the text box and wait for the keyboard to appear.

CRASH !!! SIGQUIT

Exception Type:  EXC_CRASH (SIGQUIT)
Exception Codes: 0x0000000000000000, 0x0000000000000000
Exception Note:  EXC_CORPSE_NOTIFY
Termination Signal: Quit: 3
Termination Reason: Namespace SIGNAL, Code 0x3
Terminating Process: launchd [1]
Triggered by Thread:  0
Thread 0 name:  Dispatch queue: com.apple.main-thread
Thread 0 Crashed:
0   libsystem_kernel.dylib          0x000000018819b260 semaphore_wait_trap + 8
1   libdispatch.dylib               0x00000001880895e8 _os_semaphore_wait + 24
2   libdispatch.dylib               0x0000000188088ca0 _dispatch_semaphore_wait_slow + 140
3   DTXConnectionServices           0x00000001012a9ec4 0x10129c000 + 57028
4   DTXConnectionServices           0x00000001012a95ec 0x10129c000 + 54764
5   libfsmonitor_interpose.dylib    0x000000010128a040 0x101288000 + 8256
6   libfsmonitor_interpose.dylib    0x000000010128a3b4 0x101288000 + 9140
7   dyld                            0x00000001013326b0 ImageLoaderMachO::doModInitFunctions(ImageLoader::LinkContext const&) + 356
8   dyld                            0x00000001013328e0 ImageLoaderMachO::doInitialization(ImageLoader::LinkContext const&) + 36
9   dyld                            0x000000010132db44 ImageLoader::recursiveInitialization(ImageLoader::LinkContext const&, unsigned int, char const*, ImageLoader::InitializerTimingList&, ImageLoader::UninitedUpwards&) + 368
10  dyld                            0x000000010132cb74 ImageLoader::processInitializers(ImageLoader::LinkContext const&, unsigned int, ImageLoader::InitializerTimingList&, ImageLoader::UninitedUpwards&) + 136
11  dyld                            0x000000010132cc30 ImageLoader::runInitializers(ImageLoader::LinkContext const&, ImageLoader::InitializerTimingList&) + 84
12  dyld                            0x000000010131e440 dyld::initializeMainExecutable() + 140
13  dyld                            0x00000001013226bc dyld::_main(macho_header const*, unsigned long, int, char const**, char const**, char const**, unsigned long*) + 3640
14  dyld                            0x000000010131d044 _dyld_start + 68

      

In Backtrace everything is a system call. Extension code doesn't work! And every time an accident occurs, the break points are all different.

I've tried a lot but none of them help.

Does anyone know the solutions?

+3


source to share


1 answer


This usually means that the iOS launchd process terminated your keyboard due to some "misbehavior" reason ( some info here ). This is very often related to startup time, so make sure your keyboard starts up quickly (ideally less than a second). You can use Tools with a time profiler: open an app with two text fields and switch between them multiple times to get enough data. Note that the backtraces in the crash logs are useless in this case and show no reason for the crash (because it's not a crash - it's just a signal sent by my launchd , which your QUIT app made)



Also, since iOS11 released this behavior, it happens more and more often, and I guess it is due to some problem with the logic of this check.

+2


source







All Articles