Ios 比赛获胜';我拿到换证后就不能工作了
我已经创建了一个小游戏,我想把它放到应用商店,但每当我运行游戏时,它都不会通过初始应用加载屏幕。它以前可以工作,但我更新了代码签名标识和捆绑包标识符,现在它出现了以下问题: 这在CCNode.m文件中 只是想知道是否有新的签名身份会产生这样的效果 非常感谢您的任何帮助或想法 编辑 好的,我发现这就是问题所在,introLayer.mm文件: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
-(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(我相信)加载在视网膜设备上,应该是高清资产,所以我猜你是在模拟器中运行代码,然后部署到视网膜设备上的?我以为是这样的,但我已经在设备和模拟器上运行了