当我尝试构建并运行我的键盘扩展程序时,它有时只会崩溃Thread 1: signal SIGQUIT
。
我无法重现错误。有时我可以构建和运行我的应用程序,但大多数时候键盘才会退出。这发生在实际设备上。在模拟器中,它不会打开键盘并显示Waiting to Attach
。
控制台最初不会输出任何错误。但是,如果我在Debug导航器中将下拉列表更改为View UI Hierachy,我会得到以下描述:
Details: No plist data for fetching view hierarchy: error evaluating expression “(id)[(Class)objc_getClass("DBGViewDebuggerSupport_iOS") fetchViewHierarchyWithOptions:(id)[(Class)objc_getClass("NSDictionary") dictionaryWithObjects:(id)[(id)[(id)[(Class)objc_getClass("NSArray") arrayWithObject:(id)[(Class)objc_getClass("NSNumber") numberWithBool:1]] arrayByAddingObject:(id)[(id)[(Class)objc_getClass("NSArray") arrayWithObject:@"_UIVisualEffectBackdropView"] arrayByAddingObject:@"_UIBackdropEffectView"]] arrayByAddingObject:(id)[(Class)objc_getClass("NSNumber") numberWithBool:0]] forKeys:(id)[(id)[(id)[(Class)objc_getClass("NSArray") arrayWithObject:@"DBGViewDebuggerUseLayersAsSnapshots"] arrayByAddingObject:@"DBGViewDebuggerEffectViewsToSnapshotAsImage"] arrayByAddingObject:@"DBGViewDebuggerAlwaysEncodeLayers"]]]”: error: Execution was interrupted, reason: EXC_BREAKPOINT (code=1, subcode=0x18daddc34).
The process has been returned to the state before expression evaluation.
Method: -[DBGAbstractViewDescriber handleFetchedViewInfo:fetchError:resultHandler:]
Please file a bug at http://bugreport.apple.com with this warning message and any useful information you can provide.
我还截了当时的截图。
我做错了什么,怎么能阻止我的键盘扩展程序在运行时一直退出?它实际上是一个如描述中所述的错误吗?
答案 0 :(得分:2)
<强>声明强>
xCode 8.2.1中的某些内容似乎已损坏且调试程序未正确附加到正确的进程,或者托管进程未正确加载新代码。
这不是永久解决方案,而是临时解决方法。
解决方法强>
我已经能够通过以下步骤解决此问题。
这样做的原因是因为删除键盘会导致托管扩展的进程导致Xcode附加到新的二进制文件。
答案 1 :(得分:2)
据我所知,这是Xcode 8.2.1中的一个错误。因为在更新之前我的自定义键盘工作得很好。 这是一个临时解决方案。
现在,您的断点将起作用。但遗憾的是没有日志输出!我希望它能暂时解决你的问题