我正在实现键盘扩展。但是有时它在启动时会遇到SIGQUIT信号。
情况如下:
崩溃!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
在Backtrace中,全部是系统调用。扩展代码没有真正运行!而且每次崩溃发生时,断裂点都不同。
我尝试了很多事情,但没有一个有帮助。
有人知道解决方案吗?
通常,这意味着iOS的启动过程由于“行为异常”的原因而终止了您的键盘(此处提供一些信息)。它通常与启动时间有关,因此请确保键盘快速启动(最好少于一秒钟)。您可以将Instruments与time profiler一起使用:打开具有两个文本字段的应用,然后在它们之间进行多次切换以获取足够的数据。需要注意的是在崩溃日志回溯都是没用在这种情况下,并没有表现出任何原因崩溃(因为它不是一个崩溃-它只是信号发送我的launchd这使您的应用程序退出)
另外,自从iOS11发布以来,这种行为开始越来越频繁地发生,并且我认为它与该检查器的逻辑有关。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句