Ios 比赛获胜';我拿到换证后就不能工作了

Ios 比赛获胜';我拿到换证后就不能工作了,ios,objective-c,cocos2d-iphone,Ios,Objective C,Cocos2d Iphone,我已经创建了一个小游戏,我想把它放到应用商店,但每当我运行游戏时,它都不会通过初始应用加载屏幕。它以前可以工作,但我更新了代码签名标识和捆绑包标识符,现在它出现了以下问题: 这在CCNode.m文件中 只是想知道是否有新的签名身份会产生这样的效果 非常感谢您的任何帮助或想法 编辑 好的,我发现这就是问题所在,introLayer.mm文件: -(id) init{ if( (self=[super init])) { // ask director for the window

我已经创建了一个小游戏,我想把它放到应用商店,但每当我运行游戏时,它都不会通过初始应用加载屏幕。它以前可以工作,但我更新了代码签名标识和捆绑包标识符,现在它出现了以下问题:

这在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”的信息都将非常棒。

这是一个代码错误,与证书更改无关。传递给该函数的
CCNode
nil
,这将触发
NSASSert


您需要调查此问题的原因:尝试调查调用堆栈以查看调用此函数的位置-您可能正在传入未初始化的对象,或者某个对象已被释放,而该对象本不应该被释放,正如@davbryn在其回答中提到的,这不是签名问题。唯一可能导致这个错误的是,你在某处做了一些条件编程。我的意思是初始化CCNode对象的代码被
#DEBUG
类语句包围,因此它被传递为
NULL

更新代码标记标识和包标识符不会影响源代码。它清楚地表明您的param子项为nil,因此应该是您的一些代码更改。您可能已升级到新的XCode。。这可能就是原因。我将此标记为答案,因为它引导我走向这个问题。非常感谢@davbryn。实际的问题似乎是“Default.png”图像需要重命名为“Default@2x.png“我不知道为什么。很高兴你把它整理好了!@2x(我相信)加载在视网膜设备上,应该是高清资产,所以我猜你是在模拟器中运行代码,然后部署到视网膜设备上的?我以为是这样的,但我已经在设备和模拟器上运行了