因未捕获的异常“纹理集未找到”,应用程序终止。

9

我创建了一个使用Sprite Kit的简单动画项目。它运行良好,没有问题。 当我将这些文件合并到我们的工作副本时,出现了错误。

NSMutableArray *dPFrames = [NSMutableArray array];

SKTextureAtlas *dPAtlas = [SKTextureAtlas atlasNamed:@"dP"]; <<---- Thread 1: signal SIGBART

int numImages = dPAtlas.textureNames.count;

for (int i=1; i <= numImages; i++) {
    NSString *textureName = [NSString stringWithFormat:@"dP%d@2x", i];
    SKTexture *temp = [dPAtlas textureNamed:textureName];
    [dPFrames addObject:temp];

}
_dPAnimateFrames = dPFrames;

SKTexture *temp = _dPAnimateFrames[0];
_dP = [SKSpriteNode spriteNodeWithTexture:temp];
_dP.position = CGPointMake(150, 110);
[self addChild:_dP];

这是控制台中的信息:

2013-10-09 10:52:14.777 MyProject[1550:a0b] *应用程序因未捕获的异常'Texture Atlas Not Found'而终止,原因是:'找不到纹理图集'

我已经搜索和研究了很长时间,但不幸的是没有找到答案。如果您有解决方案,请分享。


当你合并的时候,是否将名称为dP的纹理图集合并到主干中了? - bbum
是的,dP.atlas已经被导入到项目中了,但我还没有提交我的项目,因为出现了错误。 - Vortex Kramer
我也遇到了同样的问题。我已经清理了项目,删除并重新添加了我的纹理图集,检查了拼写。但出于某种原因,它仍然找不到它们。我将创建一个新项目并尝试。我认为这可能是Xcode中的一个bug。 - Beau Nouvelle
3
这对我很有效。前往您的项目 - 构建设置 - 搜索启用纹理集生成并选择YES。希望它有所帮助! :) - Vortex Kramer
2个回答

18

前往您的项目并按照以下步骤操作: 1> 进入“Build Settings”(构建设置), 2> 搜索“启用纹理图集生成”并选择“是”


2
值得一提的是,您实际上必须拥有包含 .atlas 文件夹的项目才能使用该选项。 - Groot

1
我遇到了同样的问题,通过重置模拟器的内容和设置来解决它。
从顶部菜单栏开始: iOS 模拟器 -> 重置内容和设置... 我还清理了项目。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接