Ios 在调试模式下未调用NSAssert

Ios 在调试模式下未调用NSAssert,ios,nsassert,Ios,Nsassert,我收到了一个大的iOS项目,在这个项目中,即使在调试中,NSAssert()也会被跳过 我添加了一个测试来检查isNS\u BLOCK\u断言即使在调试模式下也定义了,不,它没有定义 #ifdef NS_BLOCK_ASSERTION NSLog(@"Assertion are blocked"); #endif 像往常一样调用旧的C样式assert() 此代码: NSLog(@"AA"); NSAssert(FALSE,@"TRY ASSERT"); NSLog(@"BB"); 生

我收到了一个大的iOS项目,在这个项目中,即使在调试中,
NSAssert()
也会被跳过

我添加了一个测试来检查is
NS\u BLOCK\u断言
即使在调试模式下也定义了,不,它没有定义

#ifdef NS_BLOCK_ASSERTION
    NSLog(@"Assertion are blocked");
#endif
像往常一样调用旧的C样式
assert()

此代码:

NSLog(@"AA");
NSAssert(FALSE,@"TRY ASSERT");
NSLog(@"BB");
生成此预处理代码

    if (!(0)) {
    [[NSAssertionHandler currentHandler] handleFailureInMethod:_cmd
                                                        object:self
                                                          file:[NSString stringWithUTF8String:"/Users/..../AppDelegate.m"]
                                                    lineNumber:106
                                                   description:(@"TRY ASSERT")];
}

我更正了我的帖子,没有跳过NSAssert,但应用程序只是挂起,即使NSAssert为真:(

打开一个包含
NSAssert
宏的编译单元,打开助理编辑器,选择
Preprocess
视图。看看这些行被预处理成了什么。您是否安装了自己的根级别断言处理程序?如果没有,您是否添加了一个安装了mi的库sbehaving?如果您不确定根级别的处理程序是什么,请尝试突破异常并升级到它。如果它挂起,听起来好像您的处理程序有问题。