我收到了一个大的 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 :(