0

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

我添加了一个测试来检查NS_BLOCK_ASSERTIONS即使在调试模式下也定义了,不,它没有定义。

#ifdef NS_BLOCK_ASSERTION
    NSLog(@"Assertion are blocked");
#endif

assert()像往常一样调用旧的 C 样式。

这段代码:

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 是 TRUE :(

4

0 回答 0