我在Fabric中发生崩溃,它指向Objective-C的第一行:
.startswith('.')
该应用程序正在使用PromiseKit。为什么会崩溃?
答案 0 :(得分:1)
答案是:在某些情况下,somePromise
可能是nil
。在Objective-C中的nil
上调用方法(或“向nil
发送消息”)应该很好,对吧?
好吧,在这种情况下,代码实际上并没有尝试向nil
发送Objective-C消息。而是尝试执行nil
块。就像这样:
void (^block)() = nil;
block(); // CRASH!
因此:在对承诺进行nil
之前,请确保保证不是then
。
感谢@mxcl在这里为我提供解决方案:https://github.com/mxcl/PromiseKit/issues/344#issuecomment-167020593