我更改证书后游戏无效

时间:2013-12-23 09:03:52

标签: ios objective-c cocos2d-iphone

我创建了一个小游戏,我想把它放到应用程序商店,但每当我运行游戏时,它都没有超过最初的应用程序加载屏幕。它曾经工作,但我更新了代码签名标识和包标识符,现在它提出了这个:

enter image description here

这是在CCNode.m文件中。

只是想知道签名身份是否会产生这样的影响。

非常感谢任何帮助或想法。

编辑

好的,所以我发现这就是问题,introLayer.mm文件:

 -(id) init{
 if( (self=[super init])) {

    // ask director for the window size
    CGSize size = [[CCDirector sharedDirector] winSize];

    CCSprite *background;

    if( UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone ) {
        background = [CCSprite spriteWithFile:@"Default.png"];
        background.rotation = 90;
    } else {
        background = [CCSprite spriteWithFile:@"Default-Landscape~ipad.png"];
    }
    background.position = ccp(size.width/2, size.height/2);

    // add the label as a child to this Layer
    [self addChild: background];
}
return self;

}

由于某种原因,“Default.png”必须更改为“Default@2x.png”,我之前从未更改此值并且它用于工作,我发现这是一个奇怪的解决方案,它是一个它不正确(即使它使应用程序工作)。

这可能是由于appDelegate文件中的某些内容(我只更改了此文件以防止该应用显示FPS数据)?

有关图像为什么需要添加“@ 2x”的任何信息都会很棒。

2 个答案:

答案 0 :(得分:1)

这是代码错误,与证书更改无关。传递给该函数的CCNodenil,即触发NSASSert

你需要调查原因:尝试调查调用堆栈以查看调用此函数的位置 - 您可能正在传入未初始化的对象,或者某个对象已经被释放,它本不应该

答案 1 :(得分:0)

正如@davbryn在回答中提到的,这不是一个签名问题。可以犯这个错误的唯一可能性是,你已经在某处做了一些条件编程。我的意思是初始化CCNode对象的代码被#DEBUG类型的语句包围,因此它被传递为NULL