【发布时间】:2011-08-13 00:14:51
【问题描述】:
我正在运行 cocos2d-iphone 1.0.0 并按照 this 教程使用 cocos2d 和 ARC。不幸的是,每当我尝试将 TMX 平铺地图添加到 CCLayer 时,都会收到“SIGABRT”崩溃错误。我已经将此问题追溯到-(BOOL)checkForGLExtension:(NSString *)searchName,甚至在此函数中进一步追溯到NSString *extensionsString = [NSString stringWithCString:glExtensions encoding: NSASCIIStringEncoding];
这里是 checkForGLExtension 函数:
- (BOOL) checkForGLExtension:(NSString *)searchName {
// For best results, extensionsNames should be stored in your renderer so that it does not
// need to be recreated on each invocation.
NSLog(@"%@", glExtensions);
NSString *extensionsString = [NSString stringWithCString:glExtensions encoding: NSASCIIStringEncoding];
NSLog(@"%@", extensionsString);
NSArray *extensionsNames = [extensionsString componentsSeparatedByString:@" "]; }
NSString *extensionsString = [NSString stringWithCString:glExtensions encoding: NSASCIIStringEncoding]; 的 encoding: 部分可能导致应用程序崩溃。我的日志中也收到了 GL_VENDOR、GL_VERSION、GL_RENDERER 甚至 glExtensions 的 NULL。
回顾 OpenGLES.framework 中的 gl.h 向我展示了这一点:
/* StringName */
#define GL_VENDOR 0x1F00
#define GL_RENDERER 0x1F01
#define GL_VERSION 0x1F02
#define GL_EXTENSIONS 0x1F03
其中所有的都是NULL。
【问题讨论】:
-
顺便说一下,也是用Xcode 4
标签: iphone ios opengl-es cocos2d-iphone nsstring