我收到了一个大型iOS项目,在这个项目中,即使在调试中,每个NSAssert()
也会跳过
我添加了一个测试来检查即使在调试模式下也定义了NS_BLOCK_ASSERTIONS
,不,它没有被定义。
#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是真的:(