UIKit _wrapRunLoopWithAutoreleasePoolHandler + 36:偶尔发生在Crashlytics报告中

Kon*_*ool 6 xcode cocoa-touch ios mbprogresshud crashlytics

我收到了Crashlytics的崩溃报告

UIKit   _wrapRunLoopWithAutoreleasePoolHandler + 36
Run Code Online (Sandbox Code Playgroud)

它只发生在我的应用程序的总用户一次,我从未见过它在调试版本之前的崩溃.

从搜索来看,它与太多的"发布"有关,但我的项目实际上是使用了ARC和所有第三方模块,它们都是ARC.我发现只有一个仍然具有非ARC的模块是MBProgressHUD.但它在dealloc()和#ifdef!_has_feature(obj_arc)中调用"release".因此,根本不应该调用该版本.这是代码

- (void)dealloc {
    [self unregisterFromNotifications];
    [self unregisterFromKVO];
#if !__has_feature(objc_arc)
    [color release];
    [indicator release];
    [label release];
    [detailsLabel release];
    [labelText release];
    [detailsLabelText release];
    [graceTimer release];
    [minShowTimer release];
    [showStarted release];
    [customView release];
    [labelFont release];
    [labelColor release];
    [detailsLabelFont release];
    [detailsLabelColor release];
#if NS_BLOCKS_AVAILABLE
    [completionBlock release];
#endif
    [super dealloc];
#endif
}
Run Code Online (Sandbox Code Playgroud)

我可以断定这次崩溃是随机发生的吗?因为我的代码中没有调用"release"(我的应用程序仍有相对较小的用户群)

提前致谢