2012-08-26 40 views
2

我不确定我做了什么 - 我的编码很快乐......我认为它可能与更新Xcode到4.1.1有关,但突然间,当我构建并运行我的项目,下面的编译器警告在大约20个不同的cocos2d模块显示出来..Cocos2d unsigned int无处不在

“格式指定unsigned int类型,但参数有[” CCTimer'(或它在任何模块)

行问题中的cocos2d模块是:

return [NSString stringWithFormat:@"<%@ = %08X | target:%@ selector:(%@)>", [self class], self, [target class], NSStringFromSelector(selector)]; 

它是'%08X't帽子是造成问题..

而且,由于这个错误,我不能编译在我的iPhone,尽管它运行在模拟器罚款。我更新了我的手机操作系统到最新版本,但它并没有帮助..

有没有其他人有过吗?

回答

1

这是cocos2d中的许多格式化字符串之一,它试图打印出指针值。在%08X工作的时候,正确的做法是使用%p。所以你可以改变这一行:

[NSString stringWithFormat:@"<%@ = %p | target:%@ selector:(%@)>", [self class], self, [target class], NSStringFromSelector(selector)]; 

你将不得不改变所有这些行,大约有十几个这样的行。

例输出的人好奇的差别看起来像什么:

%08X: 0976DC80 
%p: 0x976dc80 

PS:我最近修复了所有这些不正确的cocos2d日志中Kobold2D

+0

谢谢!顺便说一下,PS的伟大的书! – CarlosTheJackal

+0

您可能会被固定在狗头人中,但您忘记将其修复入您的入门套件中:/ – user513790

相关问题