1

我刚刚升级到 cocos 2.1,看到控制台的日志记录非常荒谬,例如:

2013-09-18 23:15:38.120 Notes and Clefs[842:907] cocos2d: deallocing <CCSprite = 0x1182aa0 | Rect = (816.00,640.00,32.00,64.00) | tag = -1 | atlasIndex = -1>
2013-09-18 23:15:38.121 Notes and Clefs[842:907] cocos2d: deallocing <CCSprite =  0x1182600 | Rect = (816.00,128.00,32.00,64.00) | tag = -1 | atlasIndex = -1>
2013-09-18 23:15:38.122 Notes and Clefs[842:907] cocos2d: deallocing <CCArray = 0x1161e00> = ( <CCSprite = 0x1182790 | Rect = (816.00,640.00,32.00,64.00) | tag = -1 | atlasIndex = -1>, )
etc..

通过查看代码,我看到:

#if !defined(COCOS2D_DEBUG) || COCOS2D_DEBUG == 0
#define CCLOG(...) do {} while (0)
#define CCLOGWARN(...) do {} while (0)
#define CCLOGINFO(...) do {} while (0)

#elif COCOS2D_DEBUG == 1
#define CCLOG(...) __CCLOG(__VA_ARGS__)
#define CCLOGWARN(...) __CCLOGWITHFUNCTION(__VA_ARGS__)
#define CCLOGINFO(...) do {} while (0)

#elif COCOS2D_DEBUG > 1
#define CCLOG(...) __CCLOG(__VA_ARGS__)
#define CCLOGWARN(...) __CCLOGWITHFUNCTION(__VA_ARGS__)
#define CCLOGINFO(...) __CCLOG(__VA_ARGS__)
#endif // COCOS2D_DEBUG

我设置了 COCOS2D_DEBUG = 0,但我仍然得到相同的详细日志记录......

我的项目中有 Cocos2D 作为静态库 .a 文件。这个 .a 是否可能已经在级别 2 或其他地方定义了宏/常量,这就是为什么我认为它没有任何区别?

谁能推荐一种关闭此功能的方法?

4

1 回答 1

0

是的,当使用 Debug 方案编译静态库时,它将打印所有这些调试消息。尝试重新编译静态库,将 COCOS2D_DEBUG 预处理器宏设置为 1。

你为什么将它添加为静态 .a 库呢?我只是将 cocos2d-ios.xcodeproj 添加到我自己的项目中,并将 libcocos2d.a 添加到 Link Binary with Libraries 下的 Build Phases 中。这样,每当发生更改时,它都会自动重新编译 cocos2d。

于 2013-09-19T06:29:52.617 回答